PERFORCE change 125221 for review
Rui Paulo
rpaulo at FreeBSD.org
Thu Aug 16 10:22:53 PDT 2007
http://perforce.freebsd.org/chv.cgi?CH=125221
Change 125221 by rpaulo at rpaulo_alpha on 2007/08/16 17:22:03
IFC
Affected files ...
.. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/local_apic.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/mp_machdep.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/amd64/conf/NOTES#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/amd64/include/specialreg.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/arm/arm/cpufunc.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/arm/arm/genassym.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/arm/arm/swtch.S#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/boot/arm/at91/libat91/Makefile#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/freebsd32_proto.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/freebsd32_syscall.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/freebsd32_syscalls.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/freebsd32_sysent.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/syscalls.master#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/compat/linux/linux_socket.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/conf/NOTES#16 integrate
.. //depot/projects/soc2007/rpaulo-macbook/conf/files#22 integrate
.. //depot/projects/soc2007/rpaulo-macbook/conf/files.amd64#8 integrate
.. //depot/projects/soc2007/rpaulo-macbook/conf/files.i386#8 integrate
.. //depot/projects/soc2007/rpaulo-macbook/conf/kern.pre.mk#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/conf/options#13 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/adlink/adlink.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/an/if_an.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/ata/ata-raid.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/ath/if_ath.c#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/coretemp/coretemp.c#1 branch
.. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/cxgb_adapter.h#6 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/cxgb_main.c#8 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/cxgb_offload.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/cxgb/cxgb_sge.c#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/dc/if_dc.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/dc/if_dcreg.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/em/if_em.c#9 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/ichwd/ichwd.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/ichwd/ichwd.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/mfi/mfi.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/mfi/mfi_disk.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/mfi/mfi_pci.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/mfi/mfireg.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/mfi/mfivar.h#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/mpt/mpt.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/mpt/mpt.h#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/mpt/mpt_cam.c#6 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/nmdm/nmdm.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/re/if_re.c#6 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/streams/streams.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/usb/ehci.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_axe.c#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_axereg.h#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/wi/if_wi.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/denode.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_conv.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_denode.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_fat.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_fileno.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_iconv.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_lookup.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_vfsops.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/msdosfs/msdosfs_vnops.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs.h#6 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_subr.c#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_vfsops.c#8 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_vnops.c#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/gnu/fs/ext2fs/ext2_vfsops.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/i386/conf/NOTES#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/i386/i386/local_apic.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/i386/i386/machdep.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/i386/i386/mp_machdep.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/i386/include/cpufunc.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/i386/include/specialreg.h#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/clock.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/exception.S#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/interrupt.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/machdep.c#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/mp_machdep.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/ia64/ia64/pmap.c#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/ia64/include/ia64_cpu.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/ia64/include/md_var.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/init_sysent.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/kern_descrip.c#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/kern_lockf.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/kern_poll.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/kern_switch.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/kern_thr.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/sched_ule.c#8 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/sys_socket.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/syscalls.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/syscalls.master#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/systrace_args.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_domain.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/uipc_syscalls.c#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_mount.c#6 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/vfs_subr.c#6 integrate
.. //depot/projects/soc2007/rpaulo-macbook/modules/Makefile#14 integrate
.. //depot/projects/soc2007/rpaulo-macbook/modules/coretemp/Makefile#1 branch
.. //depot/projects/soc2007/rpaulo-macbook/modules/netgraph/bluetooth/Makefile#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/net/bpf.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/net/bpfdesc.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/net/bridgestp.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/net/bridgestp.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/net/netisr.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netgraph/bluetooth/drivers/h4/TODO#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netgraph/bluetooth/drivers/h4/ng_h4.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netgraph/bluetooth/drivers/h4/ng_h4_prse.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netgraph/bluetooth/drivers/h4/ng_h4_var.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netgraph/netflow/netflow.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netgraph/ng_ppp.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netgraph/ng_ppp.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/in_mcast.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/in_pcb.h#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_divert.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_dummynet.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_fw2.c#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_input.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_ipsec.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_ipsec.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/ip_mroute.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_asconf.c#11 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_constants.h#10 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_input.c#16 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_output.c#16 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_pcb.c#16 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_timer.c#11 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_uio.h#9 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/sctp_usrreq.c#15 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/sctputil.c#16 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_subr.c#13 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/tcp_syncache.c#10 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet6/ip6_ipsec.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet6/ip6_ipsec.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netipsec/xform_ah.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netipsec/xform_esp.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netipsec/xform_ipcomp.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/nfsclient/bootp_subr.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/nfsclient/krpc_subr.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/nfsclient/nfs_socket.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/nfsclient/nfs_vfsops.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/nfsserver/nfs_srvsock.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/nfsserver/nfs_srvsubs.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/nfsserver/nfs_syscalls.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/pci/if_xl.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/pci/viapm.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/include/interruptvar.h#2 delete
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/include/intr_machdep.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/include/md_var.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/include/openpicvar.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/include/trap.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/powermac/hrowpic.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/powermac/hrowpicvar.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/powermac/openpic_macio.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/autoconf.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/interrupt.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/intr_machdep.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/nexus.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/openpic.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/pic_if.m#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/powerpc/trap.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/powerpc/psim/openpic_iobus.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/rpc/rpcclnt.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_syscalls.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sparc64/include/iommureg.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sparc64/include/iommuvar.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sparc64/pci/psycho.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sparc64/pci/psychoreg.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sparc64/sbus/sbus.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sparc64/sbus/sbusreg.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sparc64/sparc64/iommu.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sys/ata.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sys/mutex.h#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sys/syscall.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sys/syscall.mk#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sys/sysproto.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sys/thr.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/vm/device_pager.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/vm/phys_pager.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/vm/swap_pager.c#7 integrate
.. //depot/projects/soc2007/rpaulo-macbook/vm/vm_pager.c#2 integrate
Differences ...
==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/local_apic.c#4 (text+ko) ====
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.40 2007/05/08 22:01:02 jhb Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.41 2007/08/02 21:17:58 peter Exp $");
#include "opt_hwpmc_hooks.h"
@@ -1060,10 +1060,6 @@
if (retval != 0)
printf("%s: Failed to setup the local APIC: returned %d\n",
best_enum->apic_name, retval);
-#ifdef SMP
- /* Last, setup the cpu topology now that we have probed CPUs */
- mp_topology();
-#endif
}
SYSINIT(apic_setup_local, SI_SUB_CPU, SI_ORDER_FIRST, apic_setup_local, NULL)
==== //depot/projects/soc2007/rpaulo-macbook/amd64/amd64/mp_machdep.c#5 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.286 2007/06/04 23:56:07 jeff Exp $");
+__FBSDID("$FreeBSD: src/sys/amd64/amd64/mp_machdep.c,v 1.287 2007/08/02 21:17:58 peter Exp $");
#include "opt_cpu.h"
#include "opt_kstack_pages.h"
@@ -186,26 +186,14 @@
mp_topology(void)
{
struct cpu_group *group;
- u_int regs[4];
- int logical_cpus;
int apic_id;
int groups;
int cpu;
/* Build the smp_topology map. */
/* Nothing to do if there is no HTT support. */
- if ((cpu_feature & CPUID_HTT) == 0)
+ if (hyperthreading_cpus <= 1)
return;
- logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
- if (logical_cpus <= 1)
- return;
- /* Nothing to do if reported cores are physical cores. */
- if (strcmp(cpu_vendor, "GenuineIntel") == 0 && cpu_high >= 4) {
- cpuid_count(4, 0, regs);
- if ((regs[0] & 0x1f) != 0 &&
- logical_cpus <= ((regs[0] >> 26) & 0x3f) + 1)
- return;
- }
group = &mp_groups[0];
groups = 1;
for (cpu = 0, apic_id = 0; apic_id <= MAX_APIC_ID; apic_id++) {
@@ -215,7 +203,8 @@
* If the current group has members and we're not a logical
* cpu, create a new group.
*/
- if (group->cg_count != 0 && (apic_id % logical_cpus) == 0) {
+ if (group->cg_count != 0 &&
+ (apic_id % hyperthreading_cpus) == 0) {
group++;
groups++;
}
@@ -420,6 +409,9 @@
}
set_interrupt_apic_ids();
+
+ /* Last, setup the cpu topology now that we have probed CPUs */
+ mp_topology();
}
==== //depot/projects/soc2007/rpaulo-macbook/amd64/conf/NOTES#4 (text+ko) ====
@@ -4,7 +4,7 @@
# This file contains machine dependent kernel configuration notes. For
# machine independent notes, look in /sys/conf/NOTES.
#
-# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.68 2007/07/04 00:18:38 bz Exp $
+# $FreeBSD: src/sys/amd64/conf/NOTES,v 1.69 2007/08/15 19:26:02 des Exp $
#
#
@@ -446,6 +446,13 @@
#
device ichwd
+#
+# Temperature sensors:
+#
+# coretemp: on-die sensor on Intel Core and newer CPUs
+#
+device coretemp
+
#---------------------------------------------------------------------------
# ISDN4BSD
#
==== //depot/projects/soc2007/rpaulo-macbook/amd64/include/specialreg.h#3 (text+ko) ====
@@ -27,7 +27,7 @@
* SUCH DAMAGE.
*
* from: @(#)specialreg.h 7.1 (Berkeley) 5/9/91
- * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.39 2007/05/31 11:26:44 des Exp $
+ * $FreeBSD: src/sys/amd64/include/specialreg.h,v 1.40 2007/08/15 19:26:01 des Exp $
*/
#ifndef _MACHINE_SPECIALREG_H_
@@ -179,6 +179,7 @@
#define MSR_BIOS_SIGN 0x08b
#define MSR_PERFCTR0 0x0c1
#define MSR_PERFCTR1 0x0c2
+#define MSR_IA32_EXT_CONFIG 0x0ee /* Undocumented. Core Solo/Duo only */
#define MSR_MTRRcap 0x0fe
#define MSR_BBL_CR_ADDR 0x116
#define MSR_BBL_CR_DECC 0x118
==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/cpufunc.c#3 (text+ko) ====
@@ -45,7 +45,7 @@
* Created : 30/01/97
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.17 2007/07/27 14:39:41 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/cpufunc.c,v 1.18 2007/08/07 18:37:21 cognet Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -148,9 +148,9 @@
arm7tdmi_cache_flushID, /* idcache_wbinv_all */
(void *)arm7tdmi_cache_flushID, /* idcache_wbinv_range */
cpufunc_nullop, /* l2cache_wbinv_all */
- cpufunc_nullop, /* l2cache_wbinv_range */
- cpufunc_nullop, /* l2cache_inv_range */
- cpufunc_nullop, /* l2cache_wb_range */
+ (void *)cpufunc_nullop, /* l2cache_wbinv_range */
+ (void *)cpufunc_nullop, /* l2cache_inv_range */
+ (void *)cpufunc_nullop, /* l2cache_wb_range */
/* Other functions */
@@ -210,9 +210,9 @@
arm8_cache_purgeID, /* idcache_wbinv_all */
(void *)arm8_cache_purgeID, /* idcache_wbinv_range */
cpufunc_nullop, /* l2cache_wbinv_all */
- cpufunc_nullop, /* l2cache_wbinv_range */
- cpufunc_nullop, /* l2cache_inv_range */
- cpufunc_nullop, /* l2cache_wb_range */
+ (void *)cpufunc_nullop, /* l2cache_wbinv_range */
+ (void *)cpufunc_nullop, /* l2cache_inv_range */
+ (void *)cpufunc_nullop, /* l2cache_wb_range */
/* Other functions */
@@ -271,9 +271,9 @@
arm9_idcache_wbinv_all, /* idcache_wbinv_all */
arm9_idcache_wbinv_range, /* idcache_wbinv_range */
cpufunc_nullop, /* l2cache_wbinv_all */
- cpufunc_nullop, /* l2cache_wbinv_range */
- cpufunc_nullop, /* l2cache_inv_range */
- cpufunc_nullop, /* l2cache_wb_range */
+ (void *)cpufunc_nullop, /* l2cache_wbinv_range */
+ (void *)cpufunc_nullop, /* l2cache_inv_range */
+ (void *)cpufunc_nullop, /* l2cache_wb_range */
/* Other functions */
@@ -333,9 +333,9 @@
arm10_idcache_wbinv_all, /* idcache_wbinv_all */
arm10_idcache_wbinv_range, /* idcache_wbinv_range */
cpufunc_nullop, /* l2cache_wbinv_all */
- cpufunc_nullop, /* l2cache_wbinv_range */
- cpufunc_nullop, /* l2cache_inv_range */
- cpufunc_nullop, /* l2cache_wb_range */
+ (void *)cpufunc_nullop, /* l2cache_wbinv_range */
+ (void *)cpufunc_nullop, /* l2cache_inv_range */
+ (void *)cpufunc_nullop, /* l2cache_wb_range */
/* Other functions */
@@ -395,9 +395,9 @@
sa1_cache_purgeID, /* idcache_wbinv_all */
sa1_cache_purgeID_rng, /* idcache_wbinv_range */
cpufunc_nullop, /* l2cache_wbinv_all */
- cpufunc_nullop, /* l2cache_wbinv_range */
- cpufunc_nullop, /* l2cache_inv_range */
- cpufunc_nullop, /* l2cache_wb_range */
+ (void *)cpufunc_nullop, /* l2cache_wbinv_range */
+ (void *)cpufunc_nullop, /* l2cache_inv_range */
+ (void *)cpufunc_nullop, /* l2cache_wb_range */
/* Other functions */
@@ -456,9 +456,9 @@
sa1_cache_purgeID, /* idcache_wbinv_all */
sa1_cache_purgeID_rng, /* idcache_wbinv_range */
cpufunc_nullop, /* l2cache_wbinv_all */
- cpufunc_nullop, /* l2cache_wbinv_range */
- cpufunc_nullop, /* l2cache_inv_range */
- cpufunc_nullop, /* l2cache_wb_range */
+ (void *)cpufunc_nullop, /* l2cache_wbinv_range */
+ (void *)cpufunc_nullop, /* l2cache_inv_range */
+ (void *)cpufunc_nullop, /* l2cache_wb_range */
/* Other functions */
@@ -517,9 +517,9 @@
sa1_cache_purgeID, /* idcache_wbinv_all */
sa1_cache_purgeID_rng, /* idcache_wbinv_range */
cpufunc_nullop, /* l2cache_wbinv_all */
- cpufunc_nullop, /* l2cache_wbinv_range */
- cpufunc_nullop, /* l2cache_inv_range */
- cpufunc_nullop, /* l2cache_wb_range */
+ (void *)cpufunc_nullop, /* l2cache_wbinv_range */
+ (void *)cpufunc_nullop, /* l2cache_inv_range */
+ (void *)cpufunc_nullop, /* l2cache_wb_range */
/* Other functions */
@@ -581,9 +581,9 @@
xscale_cache_purgeID, /* idcache_wbinv_all */
xscale_cache_purgeID_rng, /* idcache_wbinv_range */
cpufunc_nullop, /* l2cache_wbinv_all */
- cpufunc_nullop, /* l2cache_wbinv_range */
- cpufunc_nullop, /* l2cache_inv_range */
- cpufunc_nullop, /* l2cache_wb_range */
+ (void *)cpufunc_nullop, /* l2cache_wbinv_range */
+ (void *)cpufunc_nullop, /* l2cache_inv_range */
+ (void *)cpufunc_nullop, /* l2cache_wb_range */
/* Other functions */
==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/genassym.c#3 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.9 2007/05/23 13:21:57 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/genassym.c,v 1.10 2007/08/08 09:27:52 cognet Exp $");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/assym.h>
@@ -92,6 +92,7 @@
ASSYM(TD_PROC, offsetof(struct thread, td_proc));
ASSYM(TD_FRAME, offsetof(struct thread, td_frame));
ASSYM(TD_MD, offsetof(struct thread, td_md));
+ASSYM(TD_LOCK, offsetof(struct thread, td_lock));
ASSYM(MD_TP, offsetof(struct mdthread, md_tp));
ASSYM(TF_R0, offsetof(struct trapframe, tf_r0));
==== //depot/projects/soc2007/rpaulo-macbook/arm/arm/swtch.S#2 (text+ko) ====
@@ -83,7 +83,7 @@
#include <machine/asm.h>
#include <machine/asmacros.h>
#include <machine/armreg.h>
-__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.19 2006/04/09 20:16:47 cognet Exp $");
+__FBSDID("$FreeBSD: src/sys/arm/arm/swtch.S,v 1.20 2007/08/07 18:20:55 cognet Exp $");
/*
@@ -127,6 +127,8 @@
.word _C_LABEL(block_userspace_access)
.Lcpu_do_powersave:
.word _C_LABEL(cpu_do_powersave)
+.Lblocked_lock:
+ .word _C_LABEL(blocked_lock)
ENTRY(cpu_throw)
mov r5, r1
@@ -214,6 +216,7 @@
ENTRY(cpu_switch)
stmfd sp!, {r4-r7, lr}
+ mov r6, r2 /* Save the mutex */
.Lswitch_resume:
/* rem: r0 = old lwp */
@@ -241,10 +244,11 @@
/* Stage two : Save old context */
- /* Get the user structure for the old lwp. */
+ /* Get the user structure for the old thread. */
ldr r2, [r0, #(TD_PCB)]
+ mov r4, r0 /* Save the old thread. */
- /* Save all the registers in the old lwp's pcb */
+ /* Save all the registers in the old thread's pcb */
#ifndef __XSCALE__
add r7, r2, #(PCB_R8)
stmia r7, {r8-r13}
@@ -324,8 +328,7 @@
mov lr, pc
ldr pc, [r1, #CF_IDCACHE_WBINV_ALL]
.Lcs_cache_purge_skipped:
- /* rem: r4 = &block_userspace_access */
- /* rem: r6 = new lwp */
+ /* rem: r6 = lock */
/* rem: r9 = new PCB */
/* rem: r10 = old L1 */
/* rem: r11 = new L1 */
@@ -389,6 +392,17 @@
.Lcs_context_switched:
+ /* Release the old thread */
+ str r6, [r4, #TD_LOCK]
+ ldr r6, .Lblocked_lock
+ ldr r3, .Lcurthread
+ ldr r3, [r3]
+
+1:
+ ldr r4, [r3, #TD_LOCK]
+ cmp r4, r6
+ beq 1b
+
/* XXXSCW: Safe to re-enable FIQs here */
/* rem: r9 = new PCB */
@@ -419,7 +433,7 @@
ldr r13, [r7, #(PCB_SP)]
#endif
- /* rem: r6 = new lwp */
+ /* rem: r6 = lock */
/* rem: r7 = new pcb */
#ifdef ARMFPE
@@ -429,7 +443,7 @@
#endif
/* rem: r5 = new lwp's proc */
- /* rem: r6 = new lwp */
+ /* rem: r6 = lock */
/* rem: r7 = new PCB */
.Lswitch_return:
==== //depot/projects/soc2007/rpaulo-macbook/boot/arm/at91/libat91/Makefile#3 (text) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/boot/arm/at91/libat91/Makefile,v 1.9 2007/07/13 14:27:04 imp Exp $
+# $FreeBSD: src/sys/boot/arm/at91/libat91/Makefile,v 1.10 2007/08/09 05:16:55 imp Exp $
.include "${.CURDIR}/../Makefile.inc"
@@ -8,7 +8,7 @@
putchar.c printf.c reset.c spi_flash.c xmodem.c \
sd-card.c strcvt.c strlen.c strcmp.c memcpy.c strcpy.c \
memset.c memcmp.c
-SRCS+=ashldi3.c divsi3.c
+SRCS+=ashldi3.c divsi3.S
NO_MAN=
.if ${MK_TAG_LIST} != "no"
==== //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/freebsd32_proto.h#3 (text+ko) ====
@@ -2,7 +2,7 @@
* System call prototypes.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.77 2007/07/04 23:03:50 peter Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_proto.h,v 1.78 2007/08/16 05:32:25 davidxu Exp $
* created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp
*/
==== //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/freebsd32_syscall.h#3 (text+ko) ====
@@ -2,7 +2,7 @@
* System call numbers.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.75 2007/07/04 23:03:50 peter Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscall.h,v 1.76 2007/08/16 05:32:25 davidxu Exp $
* created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp
*/
@@ -337,4 +337,5 @@
#define FREEBSD32_SYS_freebsd32_lseek 478
#define FREEBSD32_SYS_freebsd32_truncate 479
#define FREEBSD32_SYS_freebsd32_ftruncate 480
-#define FREEBSD32_SYS_MAXSYSCALL 481
+#define FREEBSD32_SYS_thr_kill2 481
+#define FREEBSD32_SYS_MAXSYSCALL 482
==== //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/freebsd32_syscalls.c#3 (text+ko) ====
@@ -2,7 +2,7 @@
* System call names.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.66 2007/07/04 23:03:50 peter Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_syscalls.c,v 1.67 2007/08/16 05:32:25 davidxu Exp $
* created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp
*/
@@ -488,4 +488,5 @@
"freebsd32_lseek", /* 478 = freebsd32_lseek */
"freebsd32_truncate", /* 479 = freebsd32_truncate */
"freebsd32_ftruncate", /* 480 = freebsd32_ftruncate */
+ "thr_kill2", /* 481 = thr_kill2 */
};
==== //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/freebsd32_sysent.c#3 (text+ko) ====
@@ -2,7 +2,7 @@
* System call switch table.
*
* DO NOT EDIT-- this file is automatically generated.
- * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.76 2007/07/04 23:03:50 peter Exp $
+ * $FreeBSD: src/sys/compat/freebsd32/freebsd32_sysent.c,v 1.77 2007/08/16 05:32:25 davidxu Exp $
* created from FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp
*/
@@ -519,4 +519,5 @@
{ AS(freebsd32_lseek_args), (sy_call_t *)freebsd32_lseek, AUE_LSEEK, NULL, 0, 0 }, /* 478 = freebsd32_lseek */
{ AS(freebsd32_truncate_args), (sy_call_t *)freebsd32_truncate, AUE_TRUNCATE, NULL, 0, 0 }, /* 479 = freebsd32_truncate */
{ AS(freebsd32_ftruncate_args), (sy_call_t *)freebsd32_ftruncate, AUE_FTRUNCATE, NULL, 0, 0 }, /* 480 = freebsd32_ftruncate */
+ { AS(thr_kill2_args), (sy_call_t *)thr_kill2, AUE_KILL, NULL, 0, 0 }, /* 481 = thr_kill2 */
};
==== //depot/projects/soc2007/rpaulo-macbook/compat/freebsd32/syscalls.master#4 (text+ko) ====
@@ -1,4 +1,4 @@
- $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.90 2007/07/04 23:02:40 peter Exp $
+ $FreeBSD: src/sys/compat/freebsd32/syscalls.master,v 1.91 2007/08/16 05:30:04 davidxu Exp $
; from: @(#)syscalls.master 8.2 (Berkeley) 1/13/94
; from: src/sys/kern/syscalls.master 1.107
;
@@ -794,3 +794,4 @@
u_int32_t lengthlo, u_int32_t lengthhi); }
480 AUE_FTRUNCATE STD { int freebsd32_ftruncate(int fd, \
u_int32_t lengthlo, u_int32_t lengthhi); }
+481 AUE_KILL NOPROTO { int thr_kill2(pid_t pid, long id, int sig); }
==== //depot/projects/soc2007/rpaulo-macbook/compat/linux/linux_socket.c#2 (text+ko) ====
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.73 2007/04/14 10:35:09 rwatson Exp $");
+__FBSDID("$FreeBSD: src/sys/compat/linux/linux_socket.c,v 1.74 2007/08/06 14:25:59 rwatson Exp $");
/* XXX we use functions that might not exist. */
#include "opt_compat.h"
@@ -670,7 +670,6 @@
* socket and use the file descriptor reference instead of
* creating a new one.
*/
- NET_LOCK_GIANT();
error = fgetsock(td, linux_args.s, &so, &fflag);
if (error == 0) {
error = EISCONN;
@@ -683,7 +682,6 @@
}
fputsock(so);
}
- NET_UNLOCK_GIANT();
return (error);
}
==== //depot/projects/soc2007/rpaulo-macbook/conf/NOTES#16 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1447 2007/07/24 15:35:01 scottl Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1449 2007/08/13 17:19:27 emax Exp $
#
# NOTES -- Lines that can be cut/pasted into kernel and hints configs.
#
@@ -501,15 +501,15 @@
options IPSEC #IP security (requires device crypto)
#options IPSEC_DEBUG #debug for IP security
#
-# Set IPSEC_FILTERGIF to force packets coming through a gif tunnel
-# to be processed by any configured packet filtering (ipfw, ipf).
-# The default is that packets coming from a tunnel are _not_ processed;
+# Set IPSEC_FILTERTUNNEL to force packets coming through a tunnel
+# to be processed by any configured packet filtering twice.
+# The default is that packets coming out of a tunnel are _not_ processed;
# they are assumed trusted.
#
# IPSEC history is preserved for such packets, and can be filtered
# using ipfw(8)'s 'ipsec' keyword, when this option is enabled.
#
-#options IPSEC_FILTERGIF #filter ipsec packets from a tunnel
+#options IPSEC_FILTERTUNNEL #filter ipsec packets from a tunnel
options IPX #IPX/SPX communications protocols
@@ -627,7 +627,7 @@
options NETGRAPH_ATM_ATMPIF
options NETGRAPH_BLUETOOTH # ng_bluetooth(4)
options NETGRAPH_BLUETOOTH_BT3C # ng_bt3c(4)
-# options NETGRAPH_BLUETOOTH_H4 # ng_h4(4) - not MPSAFE
+options NETGRAPH_BLUETOOTH_H4 # ng_h4(4)
options NETGRAPH_BLUETOOTH_HCI # ng_hci(4)
options NETGRAPH_BLUETOOTH_L2CAP # ng_l2cap(4)
options NETGRAPH_BLUETOOTH_SOCKET # ng_btsocket(4)
==== //depot/projects/soc2007/rpaulo-macbook/conf/files#22 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/files,v 1.1241 2007/07/24 15:35:01 scottl Exp $
+# $FreeBSD: src/sys/conf/files,v 1.1242 2007/08/09 01:11:21 marcel Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -259,7 +259,7 @@
contrib/ipfilter/netinet/ip_state.c optional ipfilter inet \
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
contrib/ipfilter/netinet/ip_lookup.c optional ipfilter inet \
- compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
+ compile-with "${NORMAL_C} -Wno-error -I$S/contrib/ipfilter"
contrib/ipfilter/netinet/ip_pool.c optional ipfilter inet \
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
contrib/ipfilter/netinet/ip_htable.c optional ipfilter inet \
==== //depot/projects/soc2007/rpaulo-macbook/conf/files.amd64#8 (text+ko) ====
@@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
-# $FreeBSD: src/sys/conf/files.amd64,v 1.106 2007/07/05 06:12:40 peter Exp $
+# $FreeBSD: src/sys/conf/files.amd64,v 1.107 2007/08/15 19:26:01 des Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -147,6 +147,7 @@
dev/atkbdc/atkbdc_subr.c optional atkbdc
dev/atkbdc/psm.c optional psm atkbdc
dev/backlight/backlight.c optional backlight
+dev/coretemp/coretemp.c optional coretemp
# There are no systems with isa slots, so all ed isa entries should go..
dev/ed/if_ed_3c503.c optional ed isa ed_3c503
dev/ed/if_ed_isa.c optional ed isa
==== //depot/projects/soc2007/rpaulo-macbook/conf/files.i386#8 (text+ko) ====
@@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
-# $FreeBSD: src/sys/conf/files.i386,v 1.579 2007/07/05 06:12:40 peter Exp $
+# $FreeBSD: src/sys/conf/files.i386,v 1.580 2007/08/15 19:26:01 des Exp $
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
@@ -160,6 +160,7 @@
dev/ce/if_ce.c optional ce
dev/ce/tau32-ddk.c optional ce
dev/cm/if_cm_isa.c optional cm isa
+dev/coretemp/coretemp.c optional coretemp
dev/cp/cpddk.c optional cp
dev/cp/if_cp.c optional cp
dev/ctau/ctau.c optional ctau
==== //depot/projects/soc2007/rpaulo-macbook/conf/kern.pre.mk#7 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.91 2007/07/31 03:15:32 marcel Exp $
+# $FreeBSD: src/sys/conf/kern.pre.mk,v 1.92 2007/08/08 19:12:06 marcel Exp $
# Part of a unified Makefile for building kernels. This part contains all
# of the definitions that need to be before %BEFORE_DEPEND.
@@ -88,7 +88,8 @@
CFLAGS+= --param inline-unit-growth=100
CFLAGS+= --param large-function-growth=1000
.if ${MACHINE_ARCH} == "amd64" || ${MACHINE} == "i386" || \
- ${MACHINE_ARCH} == "ia64" || ${MACHINE_ARCH} == "sparc64"
+ ${MACHINE_ARCH} == "ia64" || ${MACHINE_ARCH} == "powerpc" || \
+ ${MACHINE_ARCH} == "sparc64"
WERROR?= -Werror
.endif
.endif
==== //depot/projects/soc2007/rpaulo-macbook/conf/options#13 (text+ko) ====
@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/options,v 1.603 2007/07/24 15:35:01 scottl Exp $
+# $FreeBSD: src/sys/conf/options,v 1.605 2007/08/06 14:25:59 rwatson Exp $
#
# On the handling of kernel options
#
@@ -362,7 +362,7 @@
INET6 opt_inet6.h
IPSEC opt_ipsec.h
IPSEC_DEBUG opt_ipsec.h
-IPSEC_FILTERGIF opt_ipsec.h
+IPSEC_FILTERTUNNEL opt_ipsec.h
IPDIVERT
DUMMYNET opt_ipdn.h
IPFILTER opt_ipfilter.h
@@ -383,7 +383,6 @@
MBUF_STRESS_TEST
NCP
NETATALK opt_atalk.h
-NET_WITH_GIANT opt_net.h
PPP_BSDCOMP opt_ppp.h
PPP_DEFLATE opt_ppp.h
PPP_FILTER opt_ppp.h
==== //depot/projects/soc2007/rpaulo-macbook/dev/adlink/adlink.c#2 (text+ko) ====
@@ -43,7 +43,7 @@
#ifdef _KERNEL
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/adlink/adlink.c,v 1.16 2007/02/23 12:18:29 piso Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/adlink/adlink.c,v 1.17 2007/08/04 17:43:11 kib Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -119,6 +119,7 @@
static struct cdevsw adlink_cdevsw = {
.d_version = D_VERSION,
+ .d_flags = D_NEEDGIANT,
.d_ioctl = adlink_ioctl,
.d_mmap = adlink_mmap,
.d_name = "adlink",
==== //depot/projects/soc2007/rpaulo-macbook/dev/an/if_an.c#3 (text+ko) ====
@@ -38,7 +38,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.81 2007/06/08 01:21:20 mjacob Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/an/if_an.c,v 1.83 2007/08/07 12:26:19 avatar Exp $");
/*
* The Aironet 4500/4800 series cards come in PCMCIA, ISA and PCI form.
@@ -1065,8 +1065,10 @@
rx_frame.an_rsvd0);
#endif
#endif
+ AN_UNLOCK(sc);
(*ifp->if_input)(ifp, m);
-
+ AN_LOCK(sc);
+
an_rx_desc.an_valid = 1;
an_rx_desc.an_len = AN_RX_BUFFER_SIZE;
an_rx_desc.an_done = 0;
@@ -1914,7 +1916,9 @@
error = 0;
break;
case SIOCGAIRONET:
+ AN_UNLOCK(sc);
error = copyin(ifr->ifr_data, &sc->areq, sizeof(sc->areq));
+ AN_LOCK(sc);
if (error != 0)
break;
#ifdef ANCACHE
@@ -1940,12 +1944,16 @@
error = EINVAL;
break;
}
+ AN_UNLOCK(sc);
error = copyout(&sc->areq, ifr->ifr_data, sizeof(sc->areq));
+ AN_LOCK(sc);
break;
case SIOCSAIRONET:
if ((error = priv_check(td, PRIV_DRIVER)))
goto out;
+ AN_UNLOCK(sc);
error = copyin(ifr->ifr_data, &sc->areq, sizeof(sc->areq));
+ AN_LOCK(sc);
if (error != 0)
break;
an_setdef(sc, &sc->areq);
@@ -1953,7 +1961,9 @@
case SIOCGPRIVATE_0: /* used by Cisco client utility */
if ((error = priv_check(td, PRIV_DRIVER)))
goto out;
+ AN_UNLOCK(sc);
error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl));
+ AN_LOCK(sc);
if (error)
goto out;
mode = l_ioctl.command;
@@ -1969,18 +1979,24 @@
}
if (!error) {
/* copy out the updated command info */
+ AN_UNLOCK(sc);
error = copyout(&l_ioctl, ifr->ifr_data, sizeof(l_ioctl));
+ AN_LOCK(sc);
}
break;
case SIOCGPRIVATE_1: /* used by Cisco client utility */
if ((error = priv_check(td, PRIV_DRIVER)))
goto out;
+ AN_UNLOCK(sc);
error = copyin(ifr->ifr_data, &l_ioctl, sizeof(l_ioctl));
+ AN_LOCK(sc);
if (error)
goto out;
l_ioctl.command = 0;
error = AIROMAGIC;
+ AN_UNLOCK(sc);
(void) copyout(&error, l_ioctl.data, sizeof(error));
+ AN_LOCK(sc);
error = 0;
break;
case SIOCG80211:
@@ -2030,8 +2046,10 @@
ireq->i_len = len;
bzero(tmpstr, IEEE80211_NWID_LEN);
bcopy(tmpptr, tmpstr, len);
+ AN_UNLOCK(sc);
error = copyout(tmpstr, ireq->i_data,
IEEE80211_NWID_LEN);
+ AN_LOCK(sc);
break;
case IEEE80211_IOC_NUMSSIDS:
sc->areq.an_len = sizeof(sc->areq);
@@ -2105,7 +2123,9 @@
*/
bzero(tmpstr, len);
ireq->i_len = len;
+ AN_UNLOCK(sc);
error = copyout(tmpstr, ireq->i_data, len);
+ AN_LOCK(sc);
break;
case IEEE80211_IOC_NUMWEPKEYS:
ireq->i_val = 9; /* include home key */
@@ -2183,8 +2203,10 @@
tmpptr = config->an_nodename;
bzero(tmpstr, IEEE80211_NWID_LEN);
bcopy(tmpptr, tmpstr, ireq->i_len);
+ AN_UNLOCK(sc);
error = copyout(tmpstr, ireq->i_data,
IEEE80211_NWID_LEN);
+ AN_LOCK(sc);
break;
case IEEE80211_IOC_CHANNEL:
sc->areq.an_type = AN_RID_STATUS;
@@ -2268,9 +2290,11 @@
error = EINVAL;
break;
} else {
+ AN_UNLOCK(sc);
error = copyin(ireq->i_data,
ssids->an_entry[ireq->i_val].an_ssid,
ireq->i_len);
+ AN_LOCK(sc);
ssids->an_entry[ireq->i_val].an_len
= ireq->i_len;
break;
@@ -2305,7 +2329,9 @@
error = EINVAL;
break;
}
+ AN_UNLOCK(sc);
error = copyin(ireq->i_data, tmpstr, 13);
+ AN_LOCK(sc);
if (error != 0)
break;
/*
@@ -2387,8 +2413,10 @@
break;
}
bzero(config->an_nodename, 16);
+ AN_UNLOCK(sc);
error = copyin(ireq->i_data,
config->an_nodename, ireq->i_len);
+ AN_LOCK(sc);
break;
case IEEE80211_IOC_CHANNEL:
/*
@@ -2430,7 +2458,9 @@
an_setdef(sc, &sc->areq);
break;
default:
+ AN_UNLOCK(sc);
error = ether_ioctl(ifp, command, data);
+ AN_LOCK(sc);
break;
}
out:
@@ -3159,6 +3189,7 @@
{
unsigned short rid;
struct an_softc *sc;
+ int error;
switch (l_ioctl->command) {
case AIROGCAP:
@@ -3210,24 +3241,30 @@
l_ioctl->len = sc->areq.an_len - 4; /* just data */
+ AN_UNLOCK(sc);
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list