PERFORCE change 185527 for review
John Baldwin
jhb at FreeBSD.org
Mon Nov 8 20:09:32 UTC 2010
http://p4web.freebsd.org/@@185527?ac=10
Change 185527 by jhb at jhb_jhbbsd on 2010/11/08 20:08:32
IFC @185526
Affected files ...
.. //depot/projects/smpng/share/man/man9/BUS_SETUP_INTR.9#2 integrate
.. //depot/projects/smpng/share/man/man9/locking.9#5 integrate
.. //depot/projects/smpng/sys/amd64/acpica/madt.c#22 integrate
.. //depot/projects/smpng/sys/amd64/amd64/amd64_mem.c#13 integrate
.. //depot/projects/smpng/sys/amd64/amd64/machdep.c#100 integrate
.. //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#73 integrate
.. //depot/projects/smpng/sys/arm/arm/machdep.c#34 integrate
.. //depot/projects/smpng/sys/arm/conf/AVILA#22 integrate
.. //depot/projects/smpng/sys/arm/conf/AVILA.hints#7 integrate
.. //depot/projects/smpng/sys/arm/include/cpuconf.h#12 integrate
.. //depot/projects/smpng/sys/arm/xscale/ixp425/avila_gpio.c#1 branch
.. //depot/projects/smpng/sys/arm/xscale/ixp425/files.avila#6 integrate
.. //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425reg.h#8 integrate
.. //depot/projects/smpng/sys/cam/cam_periph.c#38 integrate
.. //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#15 integrate
.. //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#88 integrate
.. //depot/projects/smpng/sys/compat/ndis/kern_ndis.c#47 integrate
.. //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#53 integrate
.. //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#52 integrate
.. //depot/projects/smpng/sys/conf/files.mips#12 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi.c#128 integrate
.. //depot/projects/smpng/sys/dev/acpica/acpi_pci_link.c#40 integrate
.. //depot/projects/smpng/sys/dev/ahci/ahci.c#13 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-all.c#107 integrate
.. //depot/projects/smpng/sys/dev/ata/ata-lowlevel.c#43 integrate
.. //depot/projects/smpng/sys/dev/bwi/if_bwi.c#10 integrate
.. //depot/projects/smpng/sys/dev/bwn/if_bwn.c#9 integrate
.. //depot/projects/smpng/sys/dev/gpio/gpioled.c#2 integrate
.. //depot/projects/smpng/sys/dev/iicbus/iiconf.c#10 integrate
.. //depot/projects/smpng/sys/dev/iwn/if_iwn.c#19 integrate
.. //depot/projects/smpng/sys/dev/ral/rt2560.c#22 integrate
.. //depot/projects/smpng/sys/dev/ral/rt2661.c#16 integrate
.. //depot/projects/smpng/sys/dev/re/if_re.c#84 integrate
.. //depot/projects/smpng/sys/dev/siis/siis.c#13 integrate
.. //depot/projects/smpng/sys/dev/sk/if_sk.c#21 integrate
.. //depot/projects/smpng/sys/dev/usb/net/uhso.c#6 integrate
.. //depot/projects/smpng/sys/dev/usb/quirk/usb_quirk.c#16 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/u3g.c#21 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uark.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/ubsa.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/ubser.c#14 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uchcom.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/ucycom.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/ufoma.c#13 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uftdi.c#18 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/ugensa.c#14 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uipaq.c#13 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/umct.c#14 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/umodem.c#14 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/umoscom.c#11 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uplcom.c#17 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/usb_serial.c#12 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/usb_serial.h#7 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uslcom.c#13 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uvisor.c#14 integrate
.. //depot/projects/smpng/sys/dev/usb/serial/uvscom.c#10 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_device.c#25 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_request.c#15 integrate
.. //depot/projects/smpng/sys/dev/usb/usb_request.h#11 integrate
.. //depot/projects/smpng/sys/dev/usb/usbdevs#161 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_rum.c#19 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_run.c#9 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_ural.c#17 integrate
.. //depot/projects/smpng/sys/dev/usb/wlan/if_zyd.c#19 integrate
.. //depot/projects/smpng/sys/dev/wb/if_wb.c#6 integrate
.. //depot/projects/smpng/sys/dev/wpi/if_wpi.c#17 integrate
.. //depot/projects/smpng/sys/dev/xl/if_xl.c#10 integrate
.. //depot/projects/smpng/sys/geom/geom_event.c#36 integrate
.. //depot/projects/smpng/sys/i386/acpica/madt.c#29 integrate
.. //depot/projects/smpng/sys/i386/i386/machdep.c#165 integrate
.. //depot/projects/smpng/sys/i386/i386/mp_machdep.c#134 integrate
.. //depot/projects/smpng/sys/i386/i386/pmap.c#152 integrate
.. //depot/projects/smpng/sys/ia64/ia64/machdep.c#128 integrate
.. //depot/projects/smpng/sys/kern/kern_clocksource.c#4 integrate
.. //depot/projects/smpng/sys/kern/kern_conf.c#68 integrate
.. //depot/projects/smpng/sys/kern/kern_timeout.c#51 integrate
.. //depot/projects/smpng/sys/mips/cavium/octopci.c#5 integrate
.. //depot/projects/smpng/sys/mips/include/cpuregs.h#9 integrate
.. //depot/projects/smpng/sys/mips/include/md_var.h#5 integrate
.. //depot/projects/smpng/sys/mips/include/pmap.h#18 integrate
.. //depot/projects/smpng/sys/mips/mips/dump_machdep.c#3 integrate
.. //depot/projects/smpng/sys/mips/mips/gdb_machdep.c#3 integrate
.. //depot/projects/smpng/sys/mips/mips/machdep.c#19 integrate
.. //depot/projects/smpng/sys/mips/mips/minidump_machdep.c#1 branch
.. //depot/projects/smpng/sys/net80211/ieee80211.c#53 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_node.c#57 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_ratectl.c#3 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_ratectl.h#3 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_sta.c#18 integrate
.. //depot/projects/smpng/sys/net80211/ieee80211_var.h#48 integrate
.. //depot/projects/smpng/sys/netinet/libalias/alias.c#11 integrate
.. //depot/projects/smpng/sys/netinet/sctp_indata.c#35 integrate
.. //depot/projects/smpng/sys/netinet/sctp_input.c#36 integrate
.. //depot/projects/smpng/sys/netinet/sctp_output.c#42 integrate
.. //depot/projects/smpng/sys/netinet/sctp_timer.c#24 integrate
.. //depot/projects/smpng/sys/netinet/sctp_timer.h#8 integrate
.. //depot/projects/smpng/sys/netinet/sctp_usrreq.c#35 integrate
.. //depot/projects/smpng/sys/netinet/sctputil.c#43 integrate
.. //depot/projects/smpng/sys/netinet/sctputil.h#20 integrate
.. //depot/projects/smpng/sys/nfsserver/nfs_serv.c#72 integrate
.. //depot/projects/smpng/sys/pc98/pc98/machdep.c#46 integrate
.. //depot/projects/smpng/sys/pci/if_rlreg.h#56 integrate
.. //depot/projects/smpng/sys/powerpc/aim/copyinout.c#6 integrate
.. //depot/projects/smpng/sys/powerpc/aim/machdep.c#25 integrate
.. //depot/projects/smpng/sys/powerpc/aim/swtch32.S#3 integrate
.. //depot/projects/smpng/sys/powerpc/aim/swtch64.S#3 integrate
.. //depot/projects/smpng/sys/powerpc/aim/trap.c#14 integrate
.. //depot/projects/smpng/sys/powerpc/booke/machdep.c#21 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/machdep.c#108 integrate
.. //depot/projects/smpng/sys/sparc64/sparc64/pmap.c#92 integrate
.. //depot/projects/smpng/sys/sun4v/sun4v/machdep.c#18 integrate
.. //depot/projects/smpng/sys/sys/interrupt.h#33 integrate
.. //depot/projects/smpng/sys/sys/kerneldump.h#12 integrate
.. //depot/projects/smpng/sys/teken/sequences#4 integrate
.. //depot/projects/smpng/sys/teken/teken_subr_compat.h#3 integrate
.. //depot/projects/smpng/sys/vm/uma_core.c#84 integrate
.. //depot/projects/smpng/sys/vm/vm_map.c#111 integrate
.. //depot/projects/smpng/sys/vm/vm_page.c#116 integrate
.. //depot/projects/smpng/sys/x86/x86/local_apic.c#8 integrate
Differences ...
==== //depot/projects/smpng/share/man/man9/BUS_SETUP_INTR.9#2 (text+ko) ====
@@ -22,9 +22,9 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/share/man/man9/BUS_SETUP_INTR.9,v 1.23 2008/04/29 08:16:05 pjd Exp $
+.\" $FreeBSD: src/share/man/man9/BUS_SETUP_INTR.9,v 1.24 2010/11/03 18:49:50 trasz Exp $
.\"
-.Dd December 18, 2007
+.Dd November 3, 2010
.Dt BUS_SETUP_INTR 9
.Os
.Sh NAME
@@ -205,8 +205,7 @@
.Xr random 4 ,
.Xr device 9 ,
.Xr driver 9 ,
-.Xr mtx_init 9 ,
-.Xr wakeup 9
+.Xr locking 9
.Sh AUTHORS
.An -nosplit
This manual page was written by
==== //depot/projects/smpng/share/man/man9/locking.9#5 (text+ko) ====
@@ -22,9 +22,9 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.\" $FreeBSD: src/share/man/man9/locking.9,v 1.22 2010/09/01 19:50:03 mlaier Exp $
+.\" $FreeBSD: src/share/man/man9/locking.9,v 1.23 2010/11/03 18:49:50 trasz Exp $
.\"
-.Dd August 24, 2010
+.Dd November 3, 2010
.Dt LOCKING 9
.Os
.Sh NAME
@@ -356,6 +356,7 @@
.Xr sema 9 ,
.Xr sleep 9 ,
.Xr sx 9 ,
+.Xr BUS_SETUP_INTR 9 ,
.Xr LOCK_PROFILING 9
.Sh HISTORY
These
==== //depot/projects/smpng/sys/amd64/acpica/madt.c#22 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.31 2010/11/01 18:18:46 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/acpica/madt.c,v 1.32 2010/11/08 20:05:22 jhb Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -203,8 +203,7 @@
apic_register_enumerator(&madt_enumerator);
}
-SYSINIT(madt_register, SI_SUB_TUNABLES - 1, SI_ORDER_FIRST,
- madt_register, NULL);
+SYSINIT(madt_register, SI_SUB_TUNABLES - 1, SI_ORDER_FIRST, madt_register, NULL);
/*
* Call the handler routine for each entry in the MADT table.
==== //depot/projects/smpng/sys/amd64/amd64/amd64_mem.c#13 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.34 2010/10/27 16:46:37 alc Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/amd64_mem.c,v 1.35 2010/11/07 21:48:49 alc Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -583,7 +583,7 @@
i = (sc->mr_cap & MR686_FIXMTRR) ? MTRR_N64K + MTRR_N16K + MTRR_N4K : 0;
mrd = sc->mr_desc + i;
for (; i < sc->mr_ndesc; i++, mrd++) {
- if (mrd->mr_flags & MDF_ACTIVE)
+ if ((mrd->mr_flags & (MDF_ACTIVE | MDF_BOGUS)) == MDF_ACTIVE)
pmap_demote_DMAP(mrd->mr_base, mrd->mr_len, FALSE);
}
@@ -688,7 +688,7 @@
i = (sc->mr_cap & MR686_FIXMTRR) ? MTRR_N64K + MTRR_N16K + MTRR_N4K : 0;
mrd = sc->mr_desc + i;
for (; i < sc->mr_ndesc; i++, mrd++) {
- if (mrd->mr_flags & MDF_ACTIVE)
+ if ((mrd->mr_flags & (MDF_ACTIVE | MDF_BOGUS)) == MDF_ACTIVE)
pmap_demote_DMAP(mrd->mr_base, mrd->mr_len, TRUE);
}
}
==== //depot/projects/smpng/sys/amd64/amd64/machdep.c#100 (text+ko) ====
@@ -39,7 +39,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.727 2010/11/01 17:40:35 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/machdep.c,v 1.728 2010/11/05 13:42:58 jhb Exp $");
#include "opt_atalk.h"
#include "opt_atpic.h"
==== //depot/projects/smpng/sys/amd64/amd64/mp_machdep.c#73 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.335 2010/11/01 18:18:46 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.337 2010/11/08 20:05:22 jhb Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -239,6 +239,9 @@
cpu_logical++;
}
+ KASSERT(cpu_cores >= 1 && cpu_logical >= 1,
+ ("topo_probe_0x4 couldn't find BSP"));
+
cpu_cores /= cpu_logical;
hyperthreading_cpus = cpu_logical;
}
@@ -310,7 +313,9 @@
return;
logical_cpus_mask = 0;
- if (cpu_vendor_id == CPU_VENDOR_AMD)
+ if (mp_ncpus <= 1)
+ cpu_cores = cpu_logical = 1;
+ else if (cpu_vendor_id == CPU_VENDOR_AMD)
topo_probe_amd();
else if (cpu_vendor_id == CPU_VENDOR_INTEL) {
/*
@@ -332,10 +337,8 @@
* Fallback: assume each logical CPU is in separate
* physical package. That is, no multi-core, no SMT.
*/
- if (cpu_cores == 0)
- cpu_cores = 1;
- if (cpu_logical == 0)
- cpu_logical = 1;
+ if (cpu_cores == 0 || cpu_logical == 0)
+ cpu_cores = cpu_logical = 1;
cpu_topo_probed = 1;
}
@@ -419,7 +422,7 @@
}
if (mp_ncpus < MAXCPU) {
mp_ncpus++;
- mp_maxid = mp_ncpus -1;
+ mp_maxid = mp_ncpus - 1;
}
if (bootverbose)
printf("SMP: Added CPU %d (%s)\n", apic_id, boot_cpu ? "BSP" :
@@ -442,7 +445,7 @@
else
KASSERT(mp_maxid >= mp_ncpus - 1,
("%s: counters out of sync: max %d, count %d", __func__,
- mp_maxid, mp_ncpus));
+ mp_maxid, mp_ncpus));
}
int
==== //depot/projects/smpng/sys/arm/arm/machdep.c#34 (text+ko) ====
@@ -46,7 +46,7 @@
#include "opt_ddb.h"
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.37 2010/06/30 18:03:42 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/machdep.c,v 1.38 2010/11/05 13:42:58 jhb Exp $");
#include <sys/param.h>
#include <sys/proc.h>
==== //depot/projects/smpng/sys/arm/conf/AVILA#22 (text+ko) ====
@@ -16,7 +16,7 @@
# If you are in doubt as to the purpose or necessity of a line, check first
# in NOTES.
#
-# $FreeBSD: src/sys/arm/conf/AVILA,v 1.37 2010/02/15 23:44:48 attilio Exp $
+# $FreeBSD: src/sys/arm/conf/AVILA,v 1.38 2010/11/07 20:33:39 thompsa Exp $
ident AVILA
@@ -87,6 +87,10 @@
device avila_led
+device gpio
+device gpioled
+device avila_gpio # GPIO pins on J8
+
device ata
device atadisk # ATA disk drives
device avila_ata # Gateworks CF/IDE support
==== //depot/projects/smpng/sys/arm/conf/AVILA.hints#7 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.8 2009/06/22 22:46:37 sam Exp $
+# $FreeBSD: src/sys/arm/conf/AVILA.hints,v 1.9 2010/11/07 20:33:39 thompsa Exp $
#
# Device wiring for the Gateworks Avila 2384.
@@ -41,6 +41,9 @@
# Front Panel LED
hint.led_avila.0.at="ixp0"
+# GPIO pins
+hint.gpio_avila.0.at="ixp0"
+
# Analog Devices AD7418 temperature sensor
hint.ad7418.0.at="iicbus0"
hint.ad7418.0.addr=0x50
==== //depot/projects/smpng/sys/arm/include/cpuconf.h#12 (text+ko) ====
@@ -34,7 +34,7 @@
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*
- * $FreeBSD: src/sys/arm/include/cpuconf.h,v 1.14 2010/05/04 10:14:05 kevlo Exp $
+ * $FreeBSD: src/sys/arm/include/cpuconf.h,v 1.15 2010/11/08 07:54:24 kevlo Exp $
*
*/
@@ -70,7 +70,7 @@
*/
#if (defined(CPU_ARM7TDMI) || defined(CPU_ARM8) || defined(CPU_ARM9) || \
defined(CPU_SA110) || defined(CPU_SA1100) || defined(CPU_SA1110) || \
- defined(CPU_IXP12X0) || defined(CPU_XSCALE_IXP425) || defined(CPU_FA526))
+ defined(CPU_IXP12X0) || defined(CPU_FA526))
#define ARM_ARCH_4 1
#else
#define ARM_ARCH_4 0
@@ -79,7 +79,8 @@
#if (defined(CPU_ARM9E) || defined(CPU_ARM10) || \
defined(CPU_XSCALE_80200) || defined(CPU_XSCALE_80321) || \
defined(CPU_XSCALE_80219) || defined(CPU_XSCALE_81342) || \
- defined(CPU_XSCALE_PXA2X0) || defined(CPU_FA626TE))
+ defined(CPU_XSCALE_PXA2X0) || defined(CPU_XSCALE_IXP425) || \
+ defined(CPU_FA626TE))
#define ARM_ARCH_5 1
#else
#define ARM_ARCH_5 0
==== //depot/projects/smpng/sys/arm/xscale/ixp425/files.avila#6 (text+ko) ====
@@ -1,7 +1,8 @@
-#$FreeBSD: src/sys/arm/xscale/ixp425/files.avila,v 1.6 2009/06/22 22:54:13 sam Exp $
+#$FreeBSD: src/sys/arm/xscale/ixp425/files.avila,v 1.8 2010/11/07 20:38:14 thompsa Exp $
arm/xscale/ixp425/avila_machdep.c standard
arm/xscale/ixp425/avila_ata.c optional avila_ata
arm/xscale/ixp425/avila_led.c optional avila_led
+arm/xscale/ixp425/avila_gpio.c optional avila_gpio
arm/xscale/ixp425/cambria_exp_space.c standard
arm/xscale/ixp425/cambria_fled.c optional cambria_fled
arm/xscale/ixp425/cambria_led.c optional cambria_led
==== //depot/projects/smpng/sys/arm/xscale/ixp425/ixp425reg.h#8 (text+ko) ====
@@ -31,7 +31,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.8 2009/06/22 20:41:02 sam Exp $
+ * $FreeBSD: src/sys/arm/xscale/ixp425/ixp425reg.h,v 1.9 2010/11/07 20:33:39 thompsa Exp $
*
*/
@@ -323,6 +323,8 @@
#define GPIO_TYPE(b,v) ((v) << (((b) & 0x7) * 3))
#define GPIO_TYPE_REG(b) (((b)&8)?IXP425_GPIO_GPIT2R:IXP425_GPIO_GPIT1R)
+#define IXP4XX_GPIO_PINS 16
+
/*
* Expansion Bus Configuration Space.
*/
==== //depot/projects/smpng/sys/cam/cam_periph.c#38 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.89 2010/06/02 18:06:32 mjacob Exp $");
+__FBSDID("$FreeBSD: src/sys/cam/cam_periph.c,v 1.90 2010/11/08 15:59:41 mav Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -1055,6 +1055,7 @@
saved_ccb->ccb_h.status |=
CAM_AUTOSENSE_FAIL;
}
+ saved_ccb->csio.sense_resid = done_ccb->csio.resid;
bcopy(saved_ccb, done_ccb, sizeof(union ccb));
xpt_free_ccb(saved_ccb);
break;
@@ -1211,7 +1212,7 @@
scsi_request_sense(&done_ccb->csio, /*retries*/1,
camperiphsensedone,
&save_ccb->csio.sense_data,
- sizeof(save_ccb->csio.sense_data),
+ save_ccb->csio.sense_len,
CAM_TAG_ACTION_NONE,
/*sense_len*/SSD_FULL_SIZE,
/*timeout*/5000);
@@ -1602,7 +1603,7 @@
scsi_request_sense(&ccb->csio, /*retries*/1,
camperiphsensedone,
&orig_ccb->csio.sense_data,
- sizeof(orig_ccb->csio.sense_data),
+ orig_ccb->csio.sense_len,
CAM_TAG_ACTION_NONE,
/*sense_len*/SSD_FULL_SIZE,
/*timeout*/5000);
==== //depot/projects/smpng/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#15 (text+ko) ====
@@ -3627,6 +3627,14 @@
uint_t vec;
int error;
+ /*
+ * Check if we have sufficient kernel memory allocated
+ * for the zfs_cmd_t request. Bail out if not so we
+ * will not access undefined memory region.
+ */
+ if (IOCPARM_LEN(cmd) < sizeof(zfs_cmd_t))
+ return (EINVAL);
+
vec = ZFS_IOC(cmd);
if (vec >= sizeof (zfs_ioc_vec) / sizeof (zfs_ioc_vec[0]))
==== //depot/projects/smpng/sys/compat/linprocfs/linprocfs.c#88 (text+ko) ====
@@ -42,7 +42,7 @@
#include "opt_compat.h"
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.153 2010/09/28 11:32:17 kib Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linprocfs/linprocfs.c,v 1.155 2010/11/08 15:14:14 des Exp $");
#include <sys/param.h>
#include <sys/queue.h>
@@ -276,11 +276,12 @@
sbuf_printf(sb,
"processor\t: %d\n"
"vendor_id\t: %.20s\n"
- "cpu family\t: %d\n"
- "model\t\t: %d\n"
+ "cpu family\t: %u\n"
+ "model\t\t: %u\n"
"model name\t: %s\n"
- "stepping\t: %d\n\n",
- i, cpu_vendor, class, cpu, model, cpu_id & 0xf);
+ "stepping\t: %u\n\n",
+ i, cpu_vendor, CPUID_TO_FAMILY(cpu_id),
+ CPUID_TO_MODEL(cpu_id), model, cpu_id & CPUID_STEPPING);
/* XXX per-cpu vendor / class / model / id? */
}
==== //depot/projects/smpng/sys/compat/ndis/kern_ndis.c#47 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.107 2009/11/02 18:51:24 rpaulo Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/kern_ndis.c,v 1.108 2010/11/04 18:43:57 bschmidt Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -287,15 +287,6 @@
TAILQ_INIT(&sc->ndis_cfglist_head);
-#if __FreeBSD_version < 502113
- /* Create the sysctl tree. */
-
- sc->ndis_tree = SYSCTL_ADD_NODE(&sc->ndis_ctx,
- SYSCTL_STATIC_CHILDREN(_hw), OID_AUTO,
- device_get_nameunit(sc->ndis_dev), CTLFLAG_RD, 0,
- device_get_desc(sc->ndis_dev));
-
-#endif
/* Add the driver-specific registry keys. */
while(1) {
@@ -310,11 +301,7 @@
/* See if we already have a sysctl with this name */
oidp = NULL;
-#if __FreeBSD_version < 502113
- TAILQ_FOREACH(e, &sc->ndis_ctx, link) {
-#else
TAILQ_FOREACH(e, device_get_sysctl_ctx(sc->ndis_dev), link) {
-#endif
oidp = e->entry;
if (strcasecmp(oidp->oid_name, vals->nc_cfgkey) == 0)
break;
@@ -395,18 +382,11 @@
TAILQ_INSERT_TAIL(&sc->ndis_cfglist_head, cfg, link);
cfg->ndis_oid =
-#if __FreeBSD_version < 502113
- SYSCTL_ADD_STRING(&sc->ndis_ctx, SYSCTL_CHILDREN(sc->ndis_tree),
- OID_AUTO, cfg->ndis_cfg.nc_cfgkey, flag,
- cfg->ndis_cfg.nc_val, sizeof(cfg->ndis_cfg.nc_val),
- cfg->ndis_cfg.nc_cfgdesc);
-#else
SYSCTL_ADD_STRING(device_get_sysctl_ctx(sc->ndis_dev),
SYSCTL_CHILDREN(device_get_sysctl_tree(sc->ndis_dev)),
OID_AUTO, cfg->ndis_cfg.nc_cfgkey, flag,
cfg->ndis_cfg.nc_val, sizeof(cfg->ndis_cfg.nc_val),
cfg->ndis_cfg.nc_cfgdesc);
-#endif
return (0);
}
@@ -428,11 +408,7 @@
sc = arg;
-#if __FreeBSD_version < 502113
- clist = &sc->ndis_ctx;
-#else
clist = device_get_sysctl_ctx(sc->ndis_dev);
-#endif
while (!TAILQ_EMPTY(&sc->ndis_cfglist_head)) {
cfg = TAILQ_FIRST(&sc->ndis_cfglist_head);
==== //depot/projects/smpng/sys/compat/ndis/subr_ndis.c#53 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.122 2009/11/02 19:13:12 rpaulo Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ndis.c,v 1.123 2010/11/04 18:43:57 bschmidt Exp $");
/*
* This file implements a translation layer between the BSD networking
@@ -639,11 +639,7 @@
* See if registry key is already in a list of known keys
* included with the driver.
*/
-#if __FreeBSD_version < 502113
- TAILQ_FOREACH(e, &sc->ndis_ctx, link) {
-#else
TAILQ_FOREACH(e, device_get_sysctl_ctx(sc->ndis_dev), link) {
-#endif
oidp = e->entry;
if (strcasecmp(oidp->oid_name, keystr) == 0) {
if (strcmp((char *)oidp->oid_arg1, "UNSET") == 0) {
@@ -746,11 +742,7 @@
/* See if the key already exists. */
-#if __FreeBSD_version < 502113
- TAILQ_FOREACH(e, &sc->ndis_ctx, link) {
-#else
TAILQ_FOREACH(e, device_get_sysctl_ctx(sc->ndis_dev), link) {
-#endif
oidp = e->entry;
if (strcasecmp(oidp->oid_name, keystr) == 0) {
/* Found it, set the value. */
@@ -1318,23 +1310,11 @@
return;
}
-#ifdef IFP2ENADDR
- if (bcmp(IFP2ENADDR(sc->ifp), empty, ETHER_ADDR_LEN) == 0)
-#elif __FreeBSD_version >= 700000
if (sc->ifp->if_addr == NULL ||
bcmp(IF_LLADDR(sc->ifp), empty, ETHER_ADDR_LEN) == 0)
-#else
- if (bcmp(sc->arpcom.ac_enaddr, empty, ETHER_ADDR_LEN) == 0)
-#endif
*status = NDIS_STATUS_FAILURE;
else {
-#ifdef IFP2ENADDR
- *addr = IFP2ENADDR(sc->ifp);
-#elif __FreeBSD_version >= 700000
*addr = IF_LLADDR(sc->ifp);
-#else
- *addr = sc->arpcom.ac_enaddr;
-#endif
*addrlen = ETHER_ADDR_LEN;
*status = NDIS_STATUS_SUCCESS;
}
==== //depot/projects/smpng/sys/compat/ndis/subr_ntoskrnl.c#52 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.102 2010/10/05 20:56:08 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/ndis/subr_ntoskrnl.c,v 1.103 2010/11/04 18:43:57 bschmidt Exp $");
#include <sys/ctype.h>
#include <sys/unistd.h>
@@ -44,9 +44,7 @@
#include <sys/mutex.h>
#include <sys/callout.h>
-#if __FreeBSD_version > 502113
#include <sys/kdb.h>
-#endif
#include <sys/kernel.h>
#include <sys/proc.h>
#include <sys/condvar.h>
@@ -2602,11 +2600,7 @@
rl = BUS_GET_RESOURCE_LIST(device_get_parent(dev), dev);
if (rl != NULL) {
-#if __FreeBSD_version < 600022
- SLIST_FOREACH(rle, rl, link) {
-#else
STAILQ_FOREACH(rle, rl, link) {
-#endif
r = rle->res;
if (r == NULL)
@@ -2698,9 +2692,6 @@
KeReleaseSpinLock(&kq->kq_lock, irql);
}
-#if __FreeBSD_version < 502113
- mtx_lock(&Giant);
-#endif
kproc_exit(0);
return; /* notreached */
}
@@ -3429,9 +3420,6 @@
ntoskrnl_kth--;
-#if __FreeBSD_version < 502113
- mtx_lock(&Giant);
-#endif
kproc_exit(0);
return (0); /* notreached */
}
@@ -3453,11 +3441,7 @@
DbgBreakPoint(void)
{
-#if __FreeBSD_version < 502113
- Debugger("DbgBreakPoint(): breakpoint");
-#else
kdb_enter(KDB_WHY_NDIS, "DbgBreakPoint(): breakpoint");
-#endif
}
static void
@@ -3697,14 +3681,9 @@
thread_lock(curthread);
#ifdef NTOSKRNL_MULTIPLE_DPCS
-#if __FreeBSD_version >= 502102
sched_bind(curthread, kq->kq_cpu);
#endif
-#endif
sched_prio(curthread, PRI_MIN_KERN);
-#if __FreeBSD_version < 600000
- curthread->td_base_pri = PRI_MIN_KERN;
-#endif
thread_unlock(curthread);
while (1) {
@@ -3737,9 +3716,6 @@
KeSetEvent(&kq->kq_done, IO_NO_INCREMENT, FALSE);
}
-#if __FreeBSD_version < 502113
- mtx_lock(&Giant);
-#endif
kproc_exit(0);
return; /* notreached */
}
==== //depot/projects/smpng/sys/conf/files.mips#12 (text+ko) ====
@@ -14,7 +14,7 @@
# Copyright (c) 2001, 2004-2005, Juniper Networks, Inc.
# All rights reserved.
# JNPR: files.mips,v 1.11 2007/08/09 12:25:35 katta
-# $FreeBSD: src/sys/conf/files.mips,v 1.17 2010/09/13 05:03:37 jchandra Exp $
+# $FreeBSD: src/sys/conf/files.mips,v 1.18 2010/11/07 03:09:02 gonzo Exp $
#
# ----------------------------------------------------------------------
# Phase 2
@@ -55,6 +55,7 @@
mips/mips/dump_machdep.c standard
mips/mips/in_cksum.c optional inet
mips/mips/locore.S standard no-obj
+mips/mips/minidump_machdep.c standard
mips/mips/mem.c optional mem
mips/mips/nexus.c standard
mips/mips/stack_machdep.c optional ddb | stack
==== //depot/projects/smpng/sys/dev/acpica/acpi.c#128 (text+ko) ====
@@ -28,7 +28,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.291 2010/10/26 18:59:50 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.293 2010/11/08 19:52:14 jkim Exp $");
#include "opt_acpi.h"
#include <sys/param.h>
@@ -1673,38 +1673,36 @@
ACPI_OBJECT_TYPE type;
ACPI_HANDLE h;
device_t bus, child;
+ char *handle_str;
int order;
- char *handle_str, **search;
- static char *scopes[] = {"\\_PR_", "\\_TZ_", "\\_SI_", "\\_SB_", NULL};
ACPI_FUNCTION_TRACE((char *)(uintptr_t)__func__);
+ if (acpi_disabled("children"))
+ return_ACPI_STATUS (AE_OK);
+
/* Skip this device if we think we'll have trouble with it. */
if (acpi_avoid(handle))
return_ACPI_STATUS (AE_OK);
bus = (device_t)context;
if (ACPI_SUCCESS(AcpiGetType(handle, &type))) {
+ handle_str = acpi_name(handle);
switch (type) {
case ACPI_TYPE_DEVICE:
- case ACPI_TYPE_PROCESSOR:
- case ACPI_TYPE_THERMAL:
- case ACPI_TYPE_POWER:
- if (acpi_disabled("children"))
- break;
-
/*
* Since we scan from \, be sure to skip system scope objects.
- * At least \_SB and \_TZ are detected as devices (ACPI-CA bug?)
+ * \_SB_ and \_TZ_ are defined in ACPICA as devices to work around
+ * BIOS bugs. For example, \_SB_ is to allow \_SB_._INI to be run
+ * during the intialization and \_TZ_ is to support Notify() on it.
*/
- handle_str = acpi_name(handle);
- for (search = scopes; *search != NULL; search++) {
- if (strcmp(handle_str, *search) == 0)
- break;
- }
- if (*search != NULL)
+ if (strcmp(handle_str, "\\_SB_") == 0 ||
+ strcmp(handle_str, "\\_TZ_") == 0)
break;
-
+ /* FALLTHROUGH */
+ case ACPI_TYPE_PROCESSOR:
+ case ACPI_TYPE_THERMAL:
+ case ACPI_TYPE_POWER:
/*
* Create a placeholder device for this node. Sort the
* placeholder so that the probe/attach passes will run
==== //depot/projects/smpng/sys/dev/acpica/acpi_pci_link.c#40 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.59 2009/06/05 18:44:36 jkim Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi_pci_link.c,v 1.61 2010/11/05 20:24:26 jkim Exp $");
#include "opt_acpi.h"
#include <sys/param.h>
@@ -268,6 +268,7 @@
static ACPI_STATUS
link_add_prs(ACPI_RESOURCE *res, void *context)
{
+ ACPI_RESOURCE *tmp;
struct link_res_request *req;
struct link *link;
UINT8 *irqs = NULL;
@@ -321,12 +322,23 @@
* Stash a copy of the resource for later use when doing
* _SRS.
*/
- bcopy(res, &link->l_prs_template, sizeof(ACPI_RESOURCE));
+ tmp = &link->l_prs_template;
if (is_ext_irq) {
+ bcopy(res, tmp, ACPI_RS_SIZE(tmp->Data.ExtendedIrq));
+
+ /*
+ * XXX acpi_AppendBufferResource() cannot handle
+ * optional data.
+ */
+ bzero(&tmp->Data.ExtendedIrq.ResourceSource,
+ sizeof(tmp->Data.ExtendedIrq.ResourceSource));
+ tmp->Length = ACPI_RS_SIZE(tmp->Data.ExtendedIrq);
+
link->l_num_irqs =
res->Data.ExtendedIrq.InterruptCount;
ext_irqs = res->Data.ExtendedIrq.Interrupts;
} else {
+ bcopy(res, tmp, ACPI_RS_SIZE(tmp->Data.Irq));
link->l_num_irqs = res->Data.Irq.InterruptCount;
irqs = res->Data.Irq.Interrupts;
}
@@ -688,18 +700,17 @@
static ACPI_STATUS
acpi_pci_link_srs_from_crs(struct acpi_pci_link_softc *sc, ACPI_BUFFER *srsbuf)
{
- ACPI_RESOURCE *resource, *end, newres, *resptr;
- ACPI_BUFFER crsbuf;
+ ACPI_RESOURCE *end, *res;
ACPI_STATUS status;
struct link *link;
int i, in_dpf;
/* Fetch the _CRS. */
ACPI_SERIAL_ASSERT(pci_link);
- crsbuf.Pointer = NULL;
- crsbuf.Length = ACPI_ALLOCATE_BUFFER;
- status = AcpiGetCurrentResources(acpi_get_handle(sc->pl_dev), &crsbuf);
- if (ACPI_SUCCESS(status) && crsbuf.Pointer == NULL)
+ srsbuf->Pointer = NULL;
+ srsbuf->Length = ACPI_ALLOCATE_BUFFER;
+ status = AcpiGetCurrentResources(acpi_get_handle(sc->pl_dev), srsbuf);
+ if (ACPI_SUCCESS(status) && srsbuf->Pointer == NULL)
status = AE_NO_MEMORY;
if (ACPI_FAILURE(status)) {
if (bootverbose)
@@ -710,14 +721,13 @@
}
/* Fill in IRQ resources via link structures. */
- srsbuf->Pointer = NULL;
link = sc->pl_links;
i = 0;
in_dpf = DPF_OUTSIDE;
- resource = (ACPI_RESOURCE *)crsbuf.Pointer;
- end = (ACPI_RESOURCE *)((char *)crsbuf.Pointer + crsbuf.Length);
+ res = (ACPI_RESOURCE *)srsbuf->Pointer;
+ end = (ACPI_RESOURCE *)((char *)srsbuf->Pointer + srsbuf->Length);
for (;;) {
- switch (resource->Type) {
+ switch (res->Type) {
case ACPI_RESOURCE_TYPE_START_DEPENDENT:
switch (in_dpf) {
case DPF_OUTSIDE:
@@ -731,67 +741,44 @@
__func__);
break;
}
- resptr = NULL;
break;
case ACPI_RESOURCE_TYPE_END_DEPENDENT:
/* We are finished with DPF parsing. */
KASSERT(in_dpf != DPF_OUTSIDE,
("%s: end dpf when not parsing a dpf", __func__));
in_dpf = DPF_OUTSIDE;
- resptr = NULL;
break;
case ACPI_RESOURCE_TYPE_IRQ:
MPASS(i < sc->pl_num_links);
- MPASS(link->l_prs_template.Type == ACPI_RESOURCE_TYPE_IRQ);
- newres = link->l_prs_template;
- resptr = &newres;
- resptr->Data.Irq.InterruptCount = 1;
+ res->Data.Irq.InterruptCount = 1;
if (PCI_INTERRUPT_VALID(link->l_irq)) {
KASSERT(link->l_irq < NUM_ISA_INTERRUPTS,
("%s: can't put non-ISA IRQ %d in legacy IRQ resource type",
__func__, link->l_irq));
- resptr->Data.Irq.Interrupts[0] = link->l_irq;
+ res->Data.Irq.Interrupts[0] = link->l_irq;
} else
- resptr->Data.Irq.Interrupts[0] = 0;
+ res->Data.Irq.Interrupts[0] = 0;
link++;
i++;
break;
case ACPI_RESOURCE_TYPE_EXTENDED_IRQ:
MPASS(i < sc->pl_num_links);
- MPASS(link->l_prs_template.Type == ACPI_RESOURCE_TYPE_EXTENDED_IRQ);
- newres = link->l_prs_template;
- resptr = &newres;
- resptr->Data.ExtendedIrq.InterruptCount = 1;
+ res->Data.ExtendedIrq.InterruptCount = 1;
if (PCI_INTERRUPT_VALID(link->l_irq))
- resptr->Data.ExtendedIrq.Interrupts[0] =
+ res->Data.ExtendedIrq.Interrupts[0] =
link->l_irq;
else
- resptr->Data.ExtendedIrq.Interrupts[0] = 0;
+ res->Data.ExtendedIrq.Interrupts[0] = 0;
link++;
i++;
break;
- default:
- resptr = resource;
}
- if (resptr != NULL) {
- status = acpi_AppendBufferResource(srsbuf, resptr);
- if (ACPI_FAILURE(status)) {
- device_printf(sc->pl_dev,
- "Unable to build resources: %s\n",
- AcpiFormatException(status));
- if (srsbuf->Pointer != NULL)
- AcpiOsFree(srsbuf->Pointer);
- AcpiOsFree(crsbuf.Pointer);
- return (status);
- }
- }
- if (resource->Type == ACPI_RESOURCE_TYPE_END_TAG)
+ if (res->Type == ACPI_RESOURCE_TYPE_END_TAG)
break;
- resource = ACPI_NEXT_RESOURCE(resource);
- if (resource >= end)
+ res = ACPI_NEXT_RESOURCE(res);
+ if (res >= end)
break;
}
- AcpiOsFree(crsbuf.Pointer);
return (AE_OK);
}
@@ -811,10 +798,11 @@
/* Add a new IRQ resource from each link. */
link = &sc->pl_links[i];
- newres = link->l_prs_template;
- if (newres.Type == ACPI_RESOURCE_TYPE_IRQ) {
+ if (link->l_prs_template.Type == ACPI_RESOURCE_TYPE_IRQ) {
/* Build an IRQ resource. */
+ bcopy(&link->l_prs_template, &newres,
+ ACPI_RS_SIZE(newres.Data.Irq));
newres.Data.Irq.InterruptCount = 1;
if (PCI_INTERRUPT_VALID(link->l_irq)) {
KASSERT(link->l_irq < NUM_ISA_INTERRUPTS,
@@ -826,6 +814,8 @@
} else {
/* Build an ExtIRQ resuorce. */
+ bcopy(&link->l_prs_template, &newres,
+ ACPI_RS_SIZE(newres.Data.ExtendedIrq));
newres.Data.ExtendedIrq.InterruptCount = 1;
if (PCI_INTERRUPT_VALID(link->l_irq))
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list