Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Jan 2008 12:36:07 GMT
From:      Roman Divacky <rdivacky@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 132570 for review
Message-ID:  <200801051236.m05Ca7pH088171@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <sys/cdefs.h>
-__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 <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
 #include <sys/kernel.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/bus.h>
@@ -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 <paulz@trantor.xs4all.nl>
 		 * Drive:  <SEAGATE ST36530N 1444>
 		 *
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
@@ -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 <sys/cdefs.h>
-__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 <sys/param.h>
 #include <sys/systm.h>
@@ -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 <sys/cdefs.h>

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801051236.m05Ca7pH088171>