From owner-p4-projects@FreeBSD.ORG Sat Jan 5 12:36:10 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id DE1DF16A4EF; Sat, 5 Jan 2008 12:36:09 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8510016A4D5 for ; Sat, 5 Jan 2008 12:36:09 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 8A5A013C459 for ; Sat, 5 Jan 2008 12:36:08 +0000 (UTC) (envelope-from rdivacky@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m05Ca8Lc088174 for ; Sat, 5 Jan 2008 12:36:08 GMT (envelope-from rdivacky@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m05Ca7pH088171 for perforce@freebsd.org; Sat, 5 Jan 2008 12:36:07 GMT (envelope-from rdivacky@FreeBSD.org) Date: Sat, 5 Jan 2008 12:36:07 GMT Message-Id: <200801051236.m05Ca7pH088171@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to rdivacky@FreeBSD.org using -f From: Roman Divacky To: Perforce Change Reviews Cc: Subject: PERFORCE change 132570 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 05 Jan 2008 12:36:10 -0000 http://perforce.freebsd.org/chv.cgi?CH=132570 Change 132570 by rdivacky@rdivacky_witten on 2008/01/05 12:35:36 IFC Affected files ... .. //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/pmap.c#7 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/arm/arm/pmap.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/cam/cam_xpt.c#7 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/acpica/acpi_thermal.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ata/ata-all.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ata/ata-disk.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_l2t.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ed/if_ed_pci.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ed/if_ed_rtl80x9.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ichwd/ichwd.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ichwd/ichwd.h#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/machdep.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/i386/i386/pmap.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ia64/ia64/pmap.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/imgact_elf.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_descrip.c#10 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_mib.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/kern_tc.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/sched_ule.c#8 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_lock.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/subr_smp.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/uipc_debug.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/uipc_usrreq.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_mount.c#8 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/kern/vfs_vnops.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/ieee8023ad_lacp.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/ieee8023ad_lacp.h#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/if_lagg.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/net/netisr.h#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/if_ether.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/netinet/if_ether.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/pc98/cbus/pckbd.c#2 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/powerpc/powerpc/pmap_dispatch.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sparc64/sparc64/pmap.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sun4v/sun4v/pmap.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/sys/sysctl.h#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ufs/ffs/ffs_balloc.c#4 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/ufs/ffs/ffs_vnops.c#6 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/pmap.h#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_fault.c#9 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_kern.c#3 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_map.c#5 integrate .. //depot/projects/soc2007/rdivacky/linux_at/sys/vm/vm_page.c#9 integrate Differences ... ==== //depot/projects/soc2007/rdivacky/linux_at/sys/amd64/amd64/pmap.c#7 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.599 2007/12/09 21:00:35 alc Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.601 2008/01/03 07:34:32 alc Exp $"); /* * Manages physical address maps. @@ -1554,7 +1554,7 @@ /* We need a new PDP entry */ nkpg = vm_page_alloc(NULL, nkpt, VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED); - if (!nkpg) + if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); pmap_zero_page(nkpg); paddr = VM_PAGE_TO_PHYS(nkpg); @@ -1572,12 +1572,9 @@ continue; } - /* - * This index is bogus, but out of the way - */ - nkpg = vm_page_alloc(NULL, nkpt, + nkpg = vm_page_alloc(NULL, pmap_pde_pindex(kernel_vm_end), VM_ALLOC_NOOBJ | VM_ALLOC_SYSTEM | VM_ALLOC_WIRED); - if (!nkpg) + if (nkpg == NULL) panic("pmap_growkernel: no memory to grow kernel"); nkpt++; @@ -2253,8 +2250,8 @@ * insert this page into the given map NOW. */ void -pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, - boolean_t wired) +pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m, + vm_prot_t prot, boolean_t wired) { vm_paddr_t pa; pd_entry_t *pde; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/arm/arm/pmap.c#6 (text+ko) ==== @@ -147,7 +147,7 @@ #include "opt_vm.h" #include -__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.93 2007/12/11 20:35:44 cognet Exp $"); +__FBSDID("$FreeBSD: src/sys/arm/arm/pmap.c,v 1.96 2008/01/03 07:34:33 alc Exp $"); #include #include #include @@ -3170,11 +3170,10 @@ #if defined(PMAP_DEBUG) /* - * XXX this makes pmap_page_protect(NONE) illegal for non-managed - * pages! + * XXX This makes pmap_remove_all() illegal for non-managed pages! */ if (m->flags & PG_FICTITIOUS) { - panic("pmap_page_protect: illegal for unmanaged page, va: 0x%x", VM_PAGE_TO_PHYS(m)); + panic("pmap_remove_all: illegal for unmanaged page, va: 0x%x", VM_PAGE_TO_PHYS(m)); } #endif @@ -3325,8 +3324,8 @@ */ void -pmap_enter(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot, - boolean_t wired) +pmap_enter(pmap_t pmap, vm_offset_t va, vm_prot_t access, vm_page_t m, + vm_prot_t prot, boolean_t wired) { vm_page_lock_queues(); ==== //depot/projects/soc2007/rdivacky/linux_at/sys/cam/cam_xpt.c#7 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.192 2007/12/16 07:49:44 scottl Exp $"); +__FBSDID("$FreeBSD: src/sys/cam/cam_xpt.c,v 1.193 2008/01/02 01:45:31 obrien Exp $"); #include #include @@ -172,12 +172,12 @@ * identify, and removed when a device fails to respond after a number * of retries, or a bus rescan finds the device missing. */ -struct cam_et { +struct cam_et { TAILQ_HEAD(, cam_ed) ed_entries; TAILQ_ENTRY(cam_et) links; - struct cam_eb *bus; + struct cam_eb *bus; target_id_t target_id; - u_int32_t refcount; + u_int32_t refcount; u_int generation; struct timeval last_reset; }; @@ -187,7 +187,7 @@ * are created by calls to xpt_bus_register and deleted by calls to * xpt_bus_deregister. */ -struct cam_eb { +struct cam_eb { TAILQ_HEAD(, cam_et) et_entries; TAILQ_ENTRY(cam_eb) links; path_id_t path_id; @@ -275,7 +275,7 @@ static const char seagate[] = "SEAGATE"; static const char microp[] = "MICROP"; -static struct xpt_quirk_entry xpt_quirk_table[] = +static struct xpt_quirk_entry xpt_quirk_table[] = { { /* Reports QUEUE FULL for temporary resource shortages */ @@ -315,12 +315,12 @@ * * For future reference, the drive with the problem was: * QUANTUM QM39100TD-SW N1B0 - * + * * It's possible that Quantum will fix the problem in later * firmware revisions. If that happens, the quirk entry * will need to be made specific to the firmware revisions * with the problem. - * + * */ /* Reports QUEUE FULL for temporary resource shortages */ { T_DIRECT, SIP_MEDIA_FIXED, quantum, "QM39100*", "*" }, @@ -351,7 +351,7 @@ /* * The Seagate Medalist Pro drives have very poor write * performance with anything more than 2 tags. - * + * * Reported by: Paul van der Zwan * Drive: * @@ -406,7 +406,7 @@ /*quirks*/0, /*mintags*/0, /*maxtags*/0 }, { - /* Broken tagged queuing drive */ + /* Broken tagged queuing drive */ { T_DIRECT, SIP_MEDIA_FIXED, "CONNER", "CFP2107*", "*" }, /*quirks*/0, /*mintags*/0, /*maxtags*/0 }, @@ -924,7 +924,7 @@ */ retval = xpt_schedule_dev(&bus->sim->devq->alloc_queue, &dev->alloc_ccb_entry.pinfo, - CAMQ_GET_HEAD(&dev->drvq)->priority); + CAMQ_GET_HEAD(&dev->drvq)->priority); } else { retval = 0; } @@ -1025,7 +1025,7 @@ mtx_lock(&xsoftc.xpt_lock); xsoftc.flags |= XPT_FLAG_OPEN; mtx_unlock(&xsoftc.xpt_lock); - + return(0); } @@ -1225,7 +1225,7 @@ * (or rather should be) impossible for the device peripheral driver * list to change since we look at the whole thing in one pass, and * we do it with lock protection. - * + * */ case CAMGETPASSTHRU: { union ccb *ccb; @@ -1280,7 +1280,7 @@ ccb->cgdl.unit_number = 0; error = ENOENT; break; - } + } /* * Run through every peripheral instance of this driver @@ -1318,7 +1318,7 @@ periph = SLIST_NEXT(periph, periph_links), i++) { /* * Check to see whether we have a - * passthrough device or not. + * passthrough device or not. */ if (strcmp(periph->periph_name, "pass") == 0) { /* @@ -1638,7 +1638,7 @@ struct periph_list *periph_head; periph_head = &device->periphs; - + /* Release the slot for this peripheral */ camq_resize(&device->drvq, device->drvq.array_size - 1); @@ -1867,7 +1867,7 @@ continue; /* - * If we get to this point, the user definitely wants + * If we get to this point, the user definitely wants * information on this bus. So tell the caller to copy the * data out. */ @@ -1945,7 +1945,7 @@ /* set the copy flag */ retval |= DM_RET_COPY; - + /* * If we've already decided on an action, go ahead * and return. @@ -1980,7 +1980,7 @@ continue; /* - * If we get to this point, the user definitely wants + * If we get to this point, the user definitely wants * information on this device. So tell the caller to copy * the data out. */ @@ -2103,7 +2103,7 @@ continue; /* - * If we get to this point, the user definitely wants + * If we get to this point, the user definitely wants * information on this peripheral. So tell the caller to * copy the data out. */ @@ -2167,7 +2167,7 @@ */ if (spaceleft < sizeof(struct dev_match_result)) { bzero(&cdm->pos, sizeof(cdm->pos)); - cdm->pos.position_type = + cdm->pos.position_type = CAM_DEV_POS_EDT | CAM_DEV_POS_BUS; cdm->pos.cookie.bus = bus; @@ -2298,7 +2298,7 @@ */ if (spaceleft < sizeof(struct dev_match_result)) { bzero(&cdm->pos, sizeof(cdm->pos)); - cdm->pos.position_type = + cdm->pos.position_type = CAM_DEV_POS_EDT | CAM_DEV_POS_BUS | CAM_DEV_POS_TARGET | CAM_DEV_POS_DEVICE; @@ -2309,7 +2309,7 @@ cdm->pos.generations[CAM_TARGET_GENERATION] = device->target->bus->generation; cdm->pos.cookie.device = device; - cdm->pos.generations[CAM_DEV_GENERATION] = + cdm->pos.generations[CAM_DEV_GENERATION] = device->target->generation; cdm->status = CAM_DEV_MATCH_MORE; return(0); @@ -2407,7 +2407,7 @@ */ if (spaceleft < sizeof(struct dev_match_result)) { bzero(&cdm->pos, sizeof(cdm->pos)); - cdm->pos.position_type = + cdm->pos.position_type = CAM_DEV_POS_EDT | CAM_DEV_POS_BUS | CAM_DEV_POS_TARGET | CAM_DEV_POS_DEVICE | CAM_DEV_POS_PERIPH; @@ -2419,7 +2419,7 @@ cdm->pos.generations[CAM_TARGET_GENERATION] = periph->path->bus->generation; cdm->pos.cookie.device = periph->path->device; - cdm->pos.generations[CAM_DEV_GENERATION] = + cdm->pos.generations[CAM_DEV_GENERATION] = periph->path->target->generation; cdm->pos.cookie.periph = periph; cdm->pos.generations[CAM_PERIPH_GENERATION] = @@ -2545,7 +2545,7 @@ pdrv = NULL; bzero(&cdm->pos, sizeof(cdm->pos)); - cdm->pos.position_type = + cdm->pos.position_type = CAM_DEV_POS_PDRV | CAM_DEV_POS_PDPTR | CAM_DEV_POS_PERIPH; @@ -3139,7 +3139,7 @@ start_ccb->ccb_h.status = CAM_REQ_CMP; break; } - } + } if (XPT_FC_IS_QUEUED(abort_ccb) && (abort_ccb->ccb_h.pinfo.index == CAM_DONEQ_INDEX)) { /* @@ -3204,7 +3204,7 @@ bcopy(dev->serial_num, cgd->serial_num, dev->serial_num_len); } - break; + break; } case XPT_GDEV_STATS: { @@ -3257,17 +3257,17 @@ /* * Check and see if the list has changed since the user * last requested a list member. If so, tell them that the - * list has changed, and therefore they need to start over + * list has changed, and therefore they need to start over * from the beginning. */ - if ((cgdl->index != 0) && + if ((cgdl->index != 0) && (cgdl->generation != device->generation)) { cgdl->status = CAM_GDEVLIST_LIST_CHANGED; break; } /* - * Traverse the list of peripherals and attempt to find + * Traverse the list of peripherals and attempt to find * the requested peripheral. */ for (nperiph = SLIST_FIRST(periph_head), i = 0; @@ -3496,7 +3496,7 @@ */ start_ccb->ccb_h.flags &= ~CAM_DEV_QFREEZE; } else { - + dev->flags |= CAM_DEV_REL_ON_COMPLETE; start_ccb->ccb_h.flags |= CAM_DEV_QFREEZE; } @@ -3509,7 +3509,7 @@ start_ccb->ccb_h.flags &= ~CAM_DEV_QFREEZE; } else { - + dev->flags |= CAM_DEV_REL_ON_QUEUE_EMPTY; start_ccb->ccb_h.flags |= CAM_DEV_QFREEZE; } @@ -3584,7 +3584,7 @@ xpt_polled_action(union ccb *start_ccb) { u_int32_t timeout; - struct cam_sim *sim; + struct cam_sim *sim; struct cam_devq *devq; struct cam_ed *dev; @@ -3601,18 +3601,18 @@ * can get it before us while we simulate interrupts. */ dev->ccbq.devq_openings--; - dev->ccbq.dev_openings--; - + dev->ccbq.dev_openings--; + while(((devq != NULL && devq->send_openings <= 0) || dev->ccbq.dev_openings < 0) && (--timeout > 0)) { DELAY(1000); (*(sim->sim_poll))(sim); camisr_runqueue(&sim->sim_doneq); } - + dev->ccbq.devq_openings++; dev->ccbq.dev_openings++; - + if (timeout != 0) { xpt_action(start_ccb); while(--timeout > 0) { @@ -3636,7 +3636,7 @@ start_ccb->ccb_h.status = CAM_RESRC_UNAVAIL; } } - + /* * Schedule a peripheral driver to receive a ccb when it's * target device has space for more transactions. @@ -3759,7 +3759,7 @@ union ccb *work_ccb; struct cam_periph *drv; struct camq *drvq; - + qinfo = (struct cam_ed_qinfo *)camq_remove(&devq->alloc_queue, CAMQ_HEAD); device = qinfo->device; @@ -3796,7 +3796,7 @@ */ break; } - + if (drvq->entries > 0) { /* We have more work. Attempt to reschedule */ xpt_schedule_dev_allocq(bus, device); @@ -3811,7 +3811,7 @@ struct cam_devq *devq; CAM_DEBUG_PRINT(CAM_DEBUG_XPT, ("xpt_run_dev_sendq\n")); - + devq = bus->sim->devq; devq->send_queue.qfrozen_cnt++; @@ -3858,8 +3858,8 @@ * available. */ device->qfrozen_cnt++; - STAILQ_INSERT_TAIL(&xsoftc.highpowerq, - &work_ccb->ccb_h, + STAILQ_INSERT_TAIL(&xsoftc.highpowerq, + &work_ccb->ccb_h, xpt_links.stqe); mtx_unlock(&xsoftc.xpt_lock); @@ -3879,8 +3879,8 @@ cam_ccbq_send_ccb(&device->ccbq, work_ccb); devq->send_openings--; - devq->send_active++; - + devq->send_active++; + if (device->ccbq.queue.entries > 0) xpt_schedule_dev_sendq(bus, device); @@ -4549,7 +4549,7 @@ bus = path->bus; - if (async_code == AC_BUS_RESET) { + if (async_code == AC_BUS_RESET) { /* Update our notion of when the last reset occurred */ microtime(&bus->last_reset); } @@ -4576,7 +4576,7 @@ next_device = TAILQ_NEXT(device, links); - if (path->device != device + if (path->device != device && path->device->lun_id != CAM_LUN_WILDCARD && device->lun_id != CAM_LUN_WILDCARD) continue; @@ -4588,7 +4588,7 @@ path, async_arg); } } - + /* * If this wasn't a fully wildcarded async, tell all * clients that want all async events. @@ -4722,7 +4722,7 @@ sim->devq->send_queue.qfrozen_cnt += count; if (sim->devq->active_dev != NULL) { struct ccb_hdr *ccbh; - + ccbh = TAILQ_LAST(&sim->devq->active_dev->ccbq.active_ccbs, ccb_hdr_tailq); if (ccbh && ccbh->status == CAM_REQ_INPROG) @@ -5278,7 +5278,7 @@ scan_info->counter--; } } - + for (i = 0; i <= max_target; i++) { cam_status status; if (i == initiator_id) @@ -5367,7 +5367,7 @@ } } else { struct cam_ed *device; - + device = request_ccb->ccb_h.path->device; if ((device->quirk->quirks & CAM_QUIRK_NOLUNS) == 0) { @@ -5394,7 +5394,7 @@ done = 0; if (scan_info->cpi->hba_misc & PIM_SEQSCAN) { scan_info->counter++; - if (scan_info->counter == + if (scan_info->counter == scan_info->cpi->initiator_id) { scan_info->counter++; } @@ -5506,7 +5506,7 @@ CAM_DEBUG(request_ccb->ccb_h.path, CAM_DEBUG_TRACE, ("xpt_scan_lun\n")); - + xpt_setup_ccb(&cpi.ccb_h, path, /*priority*/1); cpi.ccb_h.func_code = XPT_PATH_INQ; xpt_action((union ccb *)&cpi); @@ -5616,7 +5616,7 @@ if (softc == NULL) { printf("proberegister: Unable to probe new device. " - "Unable to allocate softc\n"); + "Unable to allocate softc\n"); return(CAM_REQ_CMP_ERR); } TAILQ_INIT(&softc->request_ccbs); @@ -5661,7 +5661,7 @@ * condition pending. It will not report the unit attention in * response to an inquiry, which may leave invalid transfer * negotiations in effect. The TUR will reveal the unit attention - * condition. Only send the TUR for lun 0, since some devices + * condition. Only send the TUR for lun 0, since some devices * will get confused by commands other than inquiry to non-existent * luns. If you think a device has gone away start your scan from * lun 0. This will insure that any bogus transfer settings are @@ -5736,7 +5736,7 @@ * whether we still have the same device. */ if ((periph->path->device->flags & CAM_DEV_UNCONFIGURED) == 0) { - + MD5Init(&softc->context); MD5Update(&softc->context, (unsigned char *)inq_buf, sizeof(struct scsi_inquiry_data)); @@ -5748,7 +5748,7 @@ softc->flags |= PROBE_SERIAL_CKSUM; } MD5Final(softc->digest, &softc->context); - } + } if (softc->action == PROBE_INQUIRY) inquiry_len = SHORT_INQUIRY_LENGTH; @@ -5762,7 +5762,7 @@ * safe. */ inquiry_len = roundup2(inquiry_len, 2); - + if (softc->action == PROBE_INQUIRY_BASIC_DV1 || softc->action == PROBE_INQUIRY_BASIC_DV2) { inq_buf = malloc(inquiry_len, M_CAMXPT, M_NOWAIT); @@ -6024,7 +6024,7 @@ inq_buf = &path->device->inq_data; periph_qual = SID_QUAL(inq_buf); - + switch(periph_qual) { case SID_QUAL_LU_CONNECTED: { @@ -6044,7 +6044,7 @@ + offsetof(struct scsi_inquiry_data, additional_length) + 1; if (softc->action == PROBE_INQUIRY - && len > SHORT_INQUIRY_LENGTH) { + && len > SHORT_INQUIRY_LENGTH) { softc->action = PROBE_FULL_INQUIRY; xpt_release_ccb(done_ccb); xpt_schedule(periph, priority); @@ -6177,7 +6177,7 @@ xpt_release_devq(done_ccb->ccb_h.path, /*count*/1, /*run_queue*/TRUE); } - + /* * Let's see if we have seen this device before. */ @@ -6186,7 +6186,7 @@ u_int8_t digest[16]; MD5Init(&context); - + MD5Update(&context, (unsigned char *)&path->device->inq_data, sizeof(struct scsi_inquiry_data)); @@ -6289,7 +6289,7 @@ if (bcmp(nbuf, &path->device->inq_data, SHORT_INQUIRY_LENGTH)) { xpt_print(path, "inquiry data fails comparison at DV%d step\n", - softc->action == PROBE_INQUIRY_BASIC_DV1? 1 : 2); + softc->action == PROBE_INQUIRY_BASIC_DV1 ? 1 : 2); if (proberequestbackoff(periph, path->device)) { path->device->flags &= ~CAM_DEV_IN_DV; softc->action = PROBE_TUR_FOR_NEGOTIATION; @@ -6417,7 +6417,7 @@ if (otherdev != path->device) break; } - + if (otherdev != NULL) { /* * Initially assume the same versioning as @@ -6533,7 +6533,7 @@ * SCSI protocol. */ if (cts->protocol != PROTO_SCSI) { - if (async_update == FALSE) + if (async_update == FALSE) (*(sim->sim_action))(sim, (union ccb *)cts); return; } @@ -6734,14 +6734,14 @@ crs.ccb_h.func_code = XPT_REL_SIMQ; crs.release_flags = RELSIM_RELEASE_AFTER_QEMPTY; crs.openings - = crs.release_timeout + = crs.release_timeout = crs.qfrozen_cnt = 0; xpt_action((union ccb *)&crs); } } } - if (async_update == FALSE) + if (async_update == FALSE) (*(sim->sim_action))(sim, (union ccb *)cts); } @@ -6802,7 +6802,7 @@ crs.ccb_h.func_code = XPT_REL_SIMQ; crs.release_flags = RELSIM_RELEASE_AFTER_QEMPTY; crs.openings - = crs.release_timeout + = crs.release_timeout = crs.qfrozen_cnt = 0; xpt_action((union ccb *)&crs); @@ -7189,7 +7189,7 @@ */ xsoftc.num_highpower++; - /* + /* * Any high powered commands queued up? */ if (send_ccb != NULL) { @@ -7214,12 +7214,12 @@ ccb_h->path->bus->sim->devq->send_active--; ccb_h->path->bus->sim->devq->send_openings++; } - + if (((dev->flags & CAM_DEV_REL_ON_COMPLETE) != 0 && (ccb_h->status&CAM_STATUS_MASK) != CAM_REQUEUE_REQ) || ((dev->flags & CAM_DEV_REL_ON_QUEUE_EMPTY) != 0 && (dev->ccbq.dev_active == 0))) { - + xpt_release_devq(ccb_h->path, /*count*/1, /*run_queue*/TRUE); } @@ -7241,7 +7241,7 @@ /*run_queue*/TRUE); ccb_h->status &= ~CAM_RELEASE_SIMQ; runq = FALSE; - } + } if ((ccb_h->flags & CAM_DEV_QFRZDIS) && (ccb_h->status & CAM_DEV_QFRZN)) { @@ -7264,7 +7264,7 @@ ccb->ccb_h.status = CAM_DEV_NOT_THERE; xpt_done(ccb); } - + static void dead_sim_poll(struct cam_sim *sim) { ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/acpica/acpi_thermal.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.66 2007/12/24 16:32:14 ume Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_thermal.c,v 1.67 2007/12/31 15:56:03 jhb Exp $"); #include "opt_acpi.h" #include @@ -914,7 +914,7 @@ for (;;) { /* If the number of devices has changed, re-evaluate. */ - if (devclass_get_maxunit(acpi_tz_devclass) != devcount) { + if (devclass_get_count(acpi_tz_devclass) != devcount) { if (devs != NULL) { free(devs, M_TEMP); free(sc, M_TEMP); ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ata/ata-all.h#4 (text+ko) ==== @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * - * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.126 2007/12/13 11:47:36 sos Exp $ + * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.127 2008/01/02 20:31:14 phk Exp $ */ /* ATA register defines */ @@ -579,56 +579,34 @@ /* macros to hide busspace uglyness */ #define ATA_INB(res, offset) \ - bus_space_read_1(rman_get_bustag((res)), \ - rman_get_bushandle((res)), (offset)) + bus_read_1((res), (offset)) #define ATA_INW(res, offset) \ - bus_space_read_2(rman_get_bustag((res)), \ - rman_get_bushandle((res)), (offset)) + bus_read_2((res), (offset)) #define ATA_INL(res, offset) \ - bus_space_read_4(rman_get_bustag((res)), \ - rman_get_bushandle((res)), (offset)) + bus_read_4((res), (offset)) #define ATA_INSW(res, offset, addr, count) \ - bus_space_read_multi_2(rman_get_bustag((res)), \ - rman_get_bushandle((res)), \ - (offset), (addr), (count)) + bus_read_multi_2((res), (offset), (addr), (count)) #define ATA_INSW_STRM(res, offset, addr, count) \ - bus_space_read_multi_stream_2(rman_get_bustag((res)), \ - rman_get_bushandle((res)), \ - (offset), (addr), (count)) + bus_read_multi_stream_2((res), (offset), (addr), (count)) #define ATA_INSL(res, offset, addr, count) \ - bus_space_read_multi_4(rman_get_bustag((res)), \ - rman_get_bushandle((res)), \ - (offset), (addr), (count)) + bus_read_multi_4((res), (offset), (addr), (count)) #define ATA_INSL_STRM(res, offset, addr, count) \ - bus_space_read_multi_stream_4(rman_get_bustag((res)), \ - rman_get_bushandle((res)), \ - (offset), (addr), (count)) + bus_read_multi_stream_4((res), (offset), (addr), (count)) #define ATA_OUTB(res, offset, value) \ - bus_space_write_1(rman_get_bustag((res)), \ - rman_get_bushandle((res)), (offset), (value)) + bus_write_1((res), (offset), (value)) #define ATA_OUTW(res, offset, value) \ - bus_space_write_2(rman_get_bustag((res)), \ - rman_get_bushandle((res)), (offset), (value)) + bus_write_2((res), (offset), (value)) #define ATA_OUTL(res, offset, value) \ - bus_space_write_4(rman_get_bustag((res)), \ - rman_get_bushandle((res)), (offset), (value)) + bus_write_4((res), (offset), (value)) #define ATA_OUTSW(res, offset, addr, count) \ - bus_space_write_multi_2(rman_get_bustag((res)), \ - rman_get_bushandle((res)), \ - (offset), (addr), (count)) + bus_write_multi_2((res), (offset), (addr), (count)) #define ATA_OUTSW_STRM(res, offset, addr, count) \ - bus_space_write_multi_stream_2(rman_get_bustag((res)), \ - rman_get_bushandle((res)), \ - (offset), (addr), (count)) + bus_write_multi_stream_2((res), (offset), (addr), (count)) #define ATA_OUTSL(res, offset, addr, count) \ - bus_space_write_multi_4(rman_get_bustag((res)), \ - rman_get_bushandle((res)), \ - (offset), (addr), (count)) + bus_write_multi_4((res), (offset), (addr), (count)) #define ATA_OUTSL_STRM(res, offset, addr, count) \ - bus_space_write_multi_stream_4(rman_get_bustag((res)), \ - rman_get_bushandle((res)), \ - (offset), (addr), (count)) + bus_write_multi_stream_4((res), (offset), (addr), (count)) #define ATA_IDX_INB(ch, idx) \ ATA_INB(ch->r_io[idx].res, ch->r_io[idx].offset) ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ata/ata-disk.c#5 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.205 2007/11/23 08:17:14 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.206 2008/01/02 20:33:54 phk Exp $"); #include "opt_ata.h" #include @@ -162,6 +162,9 @@ adp->disk->d_unit = device_get_unit(dev); if (atadev->param.support.command2 & ATA_SUPPORT_FLUSHCACHE) adp->disk->d_flags = DISKFLAG_CANFLUSHCACHE; + if ((atadev->param.support.command2 & ATA_SUPPORT_CFA) || + atadev->param.config == ATA_PROTO_CFA) + adp->disk->d_flags = DISKFLAG_CANDELETE; snprintf(adp->disk->d_ident, sizeof(adp->disk->d_ident), "ad:%s", atadev->param.serial); disk_create(adp->disk, DISK_VERSION); @@ -274,6 +277,12 @@ else request->u.ata.command = ATA_WRITE; break; + case BIO_DELETE: + request->flags = ATA_R_CONTROL; + request->u.ata.command = ATA_CFA_ERASE; + request->transfersize = 0; + request->donecount = bp->bio_bcount; + break; case BIO_FLUSH: request->u.ata.lba = 0; request->u.ata.count = 0; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/cxgb/cxgb_l2t.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_l2t.c,v 1.5 2007/12/17 08:17:49 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_l2t.c,v 1.6 2007/12/31 23:48:06 julian Exp $"); #include #include @@ -183,7 +183,8 @@ again: switch (e->state) { case L2T_STATE_STALE: /* entry is stale, kick off revalidation */ - arpresolve2(rt->rt_ifp, rt, (struct sockaddr *)&sin, e->dmac); + arpresolve(rt->rt_ifp, rt, NULL, + (struct sockaddr *)&sin, e->dmac); mtx_lock(&e->lock); if (e->state == L2T_STATE_STALE) e->state = L2T_STATE_VALID; @@ -208,8 +209,9 @@ * A better way would be to use a work request to retry L2T * entries when there's no memory. */ - printf("doing arpresolve2 on 0x%x \n", e->addr); - if (arpresolve2(rt->rt_ifp, rt, (struct sockaddr *)&sin, e->dmac) == 0) { + printf("doing arpresolve on 0x%x \n", e->addr); + if (arpresolve(rt->rt_ifp, rt, NULL, + (struct sockaddr *)&sin, e->dmac) == 0) { printf("mac=%x:%x:%x:%x:%x:%x\n", e->dmac[0], e->dmac[1], e->dmac[2], e->dmac[3], e->dmac[4], e->dmac[5]); @@ -223,7 +225,7 @@ m_freem(m); mtx_unlock(&e->lock); } else - printf("arpresolve2 returned non-zero\n"); + printf("arpresolve returned non-zero\n"); } return 0; } @@ -245,7 +247,8 @@ again: switch (e->state) { case L2T_STATE_STALE: /* entry is stale, kick off revalidation */ - arpresolve2(rt->rt_ifp, rt, (struct sockaddr *)&sin, e->dmac); + arpresolve(rt->rt_ifp, rt, NULL, + (struct sockaddr *)&sin, e->dmac); mtx_lock(&e->lock); if (e->state == L2T_STATE_STALE) { e->state = L2T_STATE_VALID; @@ -270,7 +273,8 @@ * A better way would be to use a work request to retry L2T * entries when there's no memory. */ - arpresolve2(rt->rt_ifp, rt, (struct sockaddr *)&sin, e->dmac); + arpresolve(rt->rt_ifp, rt, NULL, + (struct sockaddr *)&sin, e->dmac); } return; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ed/if_ed_pci.c#2 (text+ko) ==== @@ -18,7 +18,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed_pci.c,v 1.49 2007/02/23 12:18:38 piso Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ed/if_ed_pci.c,v 1.50 2007/12/31 03:29:02 imp Exp $"); #include #include @@ -49,14 +49,20 @@ const char *desc; } pci_ids[] = { - { ED_RTL8029_PCI_ID, "RealTek 8029" }, - { 0x50004a14, "NetVin 5000" }, + { ED_RTL8029_PCI_ID, "RealTek 8029" }, /* Needs realtek full duplex */ + { 0x50004a14, "NetVin NV5000SC" }, { 0x09401050, "ProLAN" }, - { 0x140111f6, "Compex" }, - { 0x30008e2e, "KTI" }, + { 0x140111f6, "Compex RL2000" }, + { 0x30008e2e, "KTI ET32P2" }, { 0x19808c4a, "Winbond W89C940" }, { 0x0e3410bd, "Surecom NE-34" }, - { 0x09261106, "VIA VT86C926" }, + { 0x09261106, "VIA VT86C926" }, /* only do 16-bit */ + { 0x5a5a1050, "Winbond W89C940F" }, +#if 0 + /* Holtek needs special lovin', disabled by default */ + { 0x005812c3, "Holtek HT80232" }, /* Only 16-bit I/O, Holtek fdx */ + { 0x559812c3, "Holtek HT80229" }, /* Only 32-bit I/O, Holtek fdx, STOP_PG_60? */ +#endif { 0x00000000, NULL } }; ==== //depot/projects/soc2007/rdivacky/linux_at/sys/dev/ed/if_ed_rtl80x9.c#2 (text+ko) ==== @@ -31,7 +31,7 @@ #include >>> TRUNCATED FOR MAIL (1000 lines) <<<