PERFORCE change 92373 for review
Kip Macy
kmacy at FreeBSD.org
Fri Feb 24 22:14:02 PST 2006
http://perforce.freebsd.org/chv.cgi?CH=92373
Change 92373 by kmacy at kmacy_storage:sun4v_work on 2006/02/25 06:13:42
IFC #2
Affected files ...
.. //depot/projects/kmacy_sun4v/src/sbin/mount/mount.8#3 integrate
.. //depot/projects/kmacy_sun4v/src/sys/boot/ofw/libofw/Makefile#3 integrate
.. //depot/projects/kmacy_sun4v/src/sys/boot/ofw/libofw/openfirm.c#3 integrate
.. //depot/projects/kmacy_sun4v/src/sys/boot/sparc64/loader/main.c#4 integrate
.. //depot/projects/kmacy_sun4v/src/sys/i386/cpufreq/est.c#3 integrate
.. //depot/projects/kmacy_sun4v/src/sys/net80211/ieee80211_output.c#3 integrate
Differences ...
==== //depot/projects/kmacy_sun4v/src/sbin/mount/mount.8#3 (text+ko) ====
@@ -26,7 +26,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)mount.8 8.8 (Berkeley) 6/16/94
-.\" $FreeBSD: src/sbin/mount/mount.8,v 1.74 2006/01/10 15:56:46 pav Exp $
+.\" $FreeBSD: src/sbin/mount/mount.8,v 1.75 2006/02/25 00:47:53 rodrigc Exp $
.\"
.Dd November 26, 2004
.Dt MOUNT 8
@@ -52,7 +52,7 @@
The
.Nm
utility calls the
-.Xr mount 2
+.Xr nmount 2
system call to prepare and graft a
.Ar "special device"
or the remote node (rhost:path) on to the file system tree at the point
@@ -377,13 +377,39 @@
and
.Tn NULLFS .
.Pp
-If the type is not one of the internally known types,
+The default behavior of
+.Nm
+is to pass the
+.Fl t
+option directly to the
+.Xr nmount 2
+system call in the
+.Li fstype
+option.
+.Pp
+However, for the following file system types:
+.Ar cd9660 ,
+.Ar mfs ,
+.Ar msdosfs ,
+.Ar nfs ,
+.Ar nfs4 ,
+.Ar ntfs ,
+.Ar nwfs ,
+.Ar nullfs ,
+.Ar portalfs ,
+.Ar smbfs ,
+.Ar udf ,
+.Ar umapfs ,
+and
+.Ar unionfs ,
.Nm
-will attempt to execute a program in
+will not call
+.Xr nmount 2
+directly and will instead attempt to execute a program in
.Pa /sbin/mount_ Ns Sy XXX
where
.Sy XXX
-is replaced by the type name.
+is replaced by the file system type name.
For example, nfs file systems are mounted by the program
.Pa /sbin/mount_nfs .
.Pp
@@ -449,16 +475,13 @@
.Sh SEE ALSO
.Xr getfacl 1 ,
.Xr setfacl 1 ,
-.Xr mount 2 ,
+.Xr nmount 2 ,
.Xr acl 3 ,
.Xr mac 4 ,
.Xr fstab 5 ,
.Xr kldload 8 ,
.Xr mount_cd9660 8 ,
-.Xr mount_devfs 8 ,
.Xr mount_ext2fs 8 ,
-.Xr mount_fdescfs 8 ,
-.Xr mount_linprocfs 8 ,
.Xr mount_msdosfs 8 ,
.Xr mount_nfs 8 ,
.Xr mount_ntfs 8 ,
@@ -466,7 +489,6 @@
.Xr mount_nwfs 8 ,
.Xr mount_portalfs 8 ,
.Xr mount_procfs 8 ,
-.Xr mount_reiserfs 8 ,
.Xr mount_smbfs 8 ,
.Xr mount_std 8 ,
.Xr mount_udf 8 ,
==== //depot/projects/kmacy_sun4v/src/sys/boot/ofw/libofw/Makefile#3 (text+ko) ====
==== //depot/projects/kmacy_sun4v/src/sys/boot/ofw/libofw/openfirm.c#3 (text+ko) ====
@@ -747,6 +747,9 @@
args.ihandle = mmu;
args.align = align;
args.size = size;
+ args.ihandle = mmu;
+ args.align = align;
+ args.size = size;
args.virt = virt;
if (openfirmware(&args) == -1)
==== //depot/projects/kmacy_sun4v/src/sys/boot/sparc64/loader/main.c#4 (text+ko) ====
@@ -36,7 +36,6 @@
#include <machine/upa.h>
#include <machine/hypervisor_api.h>
-
#include "bootstrap.h"
#include "libofw.h"
#include "dev_net.h"
@@ -99,6 +98,15 @@
#define SUN4V_TLB_SLOT_MAX (1 << 10)
+extern char bootprog_name[], bootprog_rev[], bootprog_date[], bootprog_maker[];
+
+struct tlb_entry *dtlb_store;
+struct tlb_entry *itlb_store;
+
+int dtlb_slot;
+int itlb_slot;
+int dtlb_slot_max;
+int itlb_slot_max;
vm_offset_t curkva = 0;
vm_offset_t heapva;
==== //depot/projects/kmacy_sun4v/src/sys/i386/cpufreq/est.c#3 (text+ko) ====
@@ -26,7 +26,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/i386/cpufreq/est.c,v 1.9 2005/07/31 06:42:27 cperciva Exp $");
+__FBSDID("$FreeBSD: src/sys/i386/cpufreq/est.c,v 1.10 2006/02/25 04:55:38 cperciva Exp $");
#include <sys/param.h>
#include <sys/bus.h>
@@ -464,6 +464,33 @@
FREQ_INFO( 600, 988, INTEL_BUS_CLK),
FREQ_INFO( 0, 0, 1),
};
+static freq_info PM_778_90[] = {
+ /* 90 nm 1.60GHz Low Voltage Pentium M */
+ FREQ_INFO(1600, 1116, INTEL_BUS_CLK),
+ FREQ_INFO(1500, 1116, INTEL_BUS_CLK),
+ FREQ_INFO(1400, 1100, INTEL_BUS_CLK),
+ FREQ_INFO(1300, 1084, INTEL_BUS_CLK),
+ FREQ_INFO(1200, 1068, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 1052, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 1052, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 1036, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 1020, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 988, INTEL_BUS_CLK),
+ FREQ_INFO( 0, 0, 1),
+};
+static freq_info PM_758_90[] = {
+ /* 90 nm 1.50GHz Low Voltage Pentium M */
+ FREQ_INFO(1500, 1116, INTEL_BUS_CLK),
+ FREQ_INFO(1400, 1116, INTEL_BUS_CLK),
+ FREQ_INFO(1300, 1100, INTEL_BUS_CLK),
+ FREQ_INFO(1200, 1084, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 1068, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 1052, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 1036, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 1020, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 988, INTEL_BUS_CLK),
+ FREQ_INFO( 0, 0, 1),
+};
static freq_info PM_738_90[] = {
/* 90 nm 1.40GHz Low Voltage Pentium M */
FREQ_INFO(1400, 1116, INTEL_BUS_CLK),
@@ -476,6 +503,169 @@
FREQ_INFO( 600, 988, INTEL_BUS_CLK),
FREQ_INFO( 0, 0, 1),
};
+static freq_info PM_773G_90[] = {
+ /* 90 nm 1.30GHz Ultra Low Voltage Pentium M, VID #G */
+ FREQ_INFO(1300, 956, INTEL_BUS_CLK),
+ FREQ_INFO(1200, 940, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 924, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 908, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_773H_90[] = {
+ /* 90 nm 1.30GHz Ultra Low Voltage Pentium M, VID #H */
+ FREQ_INFO(1300, 940, INTEL_BUS_CLK),
+ FREQ_INFO(1200, 924, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 908, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 892, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_773I_90[] = {
+ /* 90 nm 1.30GHz Ultra Low Voltage Pentium M, VID #I */
+ FREQ_INFO(1300, 924, INTEL_BUS_CLK),
+ FREQ_INFO(1200, 908, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 892, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 844, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_773J_90[] = {
+ /* 90 nm 1.30GHz Ultra Low Voltage Pentium M, VID #J */
+ FREQ_INFO(1300, 908, INTEL_BUS_CLK),
+ FREQ_INFO(1200, 908, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 892, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 844, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_773K_90[] = {
+ /* 90 nm 1.30GHz Ultra Low Voltage Pentium M, VID #K */
+ FREQ_INFO(1300, 892, INTEL_BUS_CLK),
+ FREQ_INFO(1200, 892, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 876, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 844, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_773L_90[] = {
+ /* 90 nm 1.30GHz Ultra Low Voltage Pentium M, VID #L */
+ FREQ_INFO(1300, 876, INTEL_BUS_CLK),
+ FREQ_INFO(1200, 876, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 860, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 844, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 844, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_753G_90[] = {
+ /* 90 nm 1.20GHz Ultra Low Voltage Pentium M, VID #G */
+ FREQ_INFO(1200, 956, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 940, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 908, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 892, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_753H_90[] = {
+ /* 90 nm 1.20GHz Ultra Low Voltage Pentium M, VID #H */
+ FREQ_INFO(1200, 940, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 924, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 908, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_753I_90[] = {
+ /* 90 nm 1.20GHz Ultra Low Voltage Pentium M, VID #I */
+ FREQ_INFO(1200, 924, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 908, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 892, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_753J_90[] = {
+ /* 90 nm 1.20GHz Ultra Low Voltage Pentium M, VID #J */
+ FREQ_INFO(1200, 908, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 892, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 844, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_753K_90[] = {
+ /* 90 nm 1.20GHz Ultra Low Voltage Pentium M, VID #K */
+ FREQ_INFO(1200, 892, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 892, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 844, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_753L_90[] = {
+ /* 90 nm 1.20GHz Ultra Low Voltage Pentium M, VID #L */
+ FREQ_INFO(1200, 876, INTEL_BUS_CLK),
+ FREQ_INFO(1100, 876, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 844, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 844, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+
+static freq_info PM_733JG_90[] = {
+ /* 90 nm 1.10GHz Ultra Low Voltage Pentium M, VID #G */
+ FREQ_INFO(1100, 956, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 940, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 908, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_733JH_90[] = {
+ /* 90 nm 1.10GHz Ultra Low Voltage Pentium M, VID #H */
+ FREQ_INFO(1100, 940, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 924, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 892, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_733JI_90[] = {
+ /* 90 nm 1.10GHz Ultra Low Voltage Pentium M, VID #I */
+ FREQ_INFO(1100, 924, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 908, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 892, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_733JJ_90[] = {
+ /* 90 nm 1.10GHz Ultra Low Voltage Pentium M, VID #J */
+ FREQ_INFO(1100, 908, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 892, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_733JK_90[] = {
+ /* 90 nm 1.10GHz Ultra Low Voltage Pentium M, VID #K */
+ FREQ_INFO(1100, 892, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 844, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
+static freq_info PM_733JL_90[] = {
+ /* 90 nm 1.10GHz Ultra Low Voltage Pentium M, VID #L */
+ FREQ_INFO(1100, 876, INTEL_BUS_CLK),
+ FREQ_INFO(1000, 876, INTEL_BUS_CLK),
+ FREQ_INFO( 900, 860, INTEL_BUS_CLK),
+ FREQ_INFO( 800, 844, INTEL_BUS_CLK),
+ FREQ_INFO( 600, 812, INTEL_BUS_CLK),
+};
static freq_info PM_733_90[] = {
/* 90 nm 1.10GHz Ultra Low Voltage Pentium M */
FREQ_INFO(1100, 940, INTEL_BUS_CLK),
@@ -529,7 +719,27 @@
INTEL(PM_715B_90, 1500, 1324, 600, 988, INTEL_BUS_CLK),
INTEL(PM_715C_90, 1500, 1308, 600, 988, INTEL_BUS_CLK),
INTEL(PM_715D_90, 1500, 1276, 600, 988, INTEL_BUS_CLK),
+ INTEL(PM_778_90, 1600, 1116, 600, 988, INTEL_BUS_CLK),
+ INTEL(PM_758_90, 1500, 1116, 600, 988, INTEL_BUS_CLK),
INTEL(PM_738_90, 1400, 1116, 600, 988, INTEL_BUS_CLK),
+ INTEL(PM_773G_90, 1300, 956, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_773H_90, 1300, 940, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_773I_90, 1300, 924, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_773J_90, 1300, 908, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_773K_90, 1300, 892, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_773L_90, 1300, 876, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_753G_90, 1200, 956, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_753H_90, 1200, 940, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_753I_90, 1200, 924, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_753J_90, 1200, 908, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_753K_90, 1200, 892, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_753L_90, 1200, 876, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_733JG_90, 1100, 956, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_733JH_90, 1100, 940, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_733JI_90, 1100, 924, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_733JJ_90, 1100, 908, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_733JK_90, 1100, 892, 600, 812, INTEL_BUS_CLK),
+ INTEL(PM_733JL_90, 1100, 876, 600, 812, INTEL_BUS_CLK),
INTEL(PM_733_90, 1100, 940, 600, 812, INTEL_BUS_CLK),
INTEL(PM_723_90, 1000, 940, 600, 812, INTEL_BUS_CLK),
{ NULL, 0, 0, NULL },
==== //depot/projects/kmacy_sun4v/src/sys/net80211/ieee80211_output.c#3 (text+ko) ====
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_output.c,v 1.38 2006/02/08 17:30:31 sam Exp $");
+__FBSDID("$FreeBSD: src/sys/net80211/ieee80211_output.c,v 1.39 2006/02/25 05:36:43 sam Exp $");
#include "opt_inet.h"
@@ -1041,6 +1041,32 @@
}
/*
+ * Calculate capability information for mgt frames.
+ */
+static u_int16_t
+getcapinfo(struct ieee80211com *ic, struct ieee80211_channel *chan)
+{
+ u_int16_t capinfo;
+
+ KASSERT(ic->ic_opmode != IEEE80211_M_STA, ("station mode"));
+
+ if (ic->ic_opmode == IEEE80211_M_HOSTAP)
+ capinfo = IEEE80211_CAPINFO_ESS;
+ else if (ic->ic_opmode == IEEE80211_M_IBSS)
+ capinfo = IEEE80211_CAPINFO_IBSS;
+ else
+ capinfo = 0;
+ if (ic->ic_flags & IEEE80211_F_PRIVACY)
+ capinfo |= IEEE80211_CAPINFO_PRIVACY;
+ if ((ic->ic_flags & IEEE80211_F_SHPREAMBLE) &&
+ IEEE80211_IS_CHAN_2GHZ(chan))
+ capinfo |= IEEE80211_CAPINFO_SHORT_PREAMBLE;
+ if (ic->ic_flags & IEEE80211_F_SHSLOT)
+ capinfo |= IEEE80211_CAPINFO_SHORT_SLOTTIME;
+ return capinfo;
+}
+
+/*
* Send a management frame. The node is for the destination (or ic_bss
* when in station mode). Nodes other than ic_bss have their reference
* count bumped to reflect our use for an indeterminant time.
@@ -1108,17 +1134,7 @@
frm += 8;
*(u_int16_t *)frm = htole16(ic->ic_bss->ni_intval);
frm += 2;
- if (ic->ic_opmode == IEEE80211_M_IBSS)
- capinfo = IEEE80211_CAPINFO_IBSS;
- else
- capinfo = IEEE80211_CAPINFO_ESS;
- if (ic->ic_flags & IEEE80211_F_PRIVACY)
- capinfo |= IEEE80211_CAPINFO_PRIVACY;
- if ((ic->ic_flags & IEEE80211_F_SHPREAMBLE) &&
- IEEE80211_IS_CHAN_2GHZ(ic->ic_curchan))
- capinfo |= IEEE80211_CAPINFO_SHORT_PREAMBLE;
- if (ic->ic_flags & IEEE80211_F_SHSLOT)
- capinfo |= IEEE80211_CAPINFO_SHORT_SLOTTIME;
+ capinfo = getcapinfo(ic, ic->ic_curchan);
*(u_int16_t *)frm = htole16(capinfo);
frm += 2;
@@ -1259,11 +1275,9 @@
if (m == NULL)
senderr(ENOMEM, is_tx_nobuf);
- capinfo = 0;
- if (ic->ic_opmode == IEEE80211_M_IBSS)
- capinfo |= IEEE80211_CAPINFO_IBSS;
- else /* IEEE80211_M_STA */
- capinfo |= IEEE80211_CAPINFO_ESS;
+ KASSERT(ic->ic_opmode == IEEE80211_M_STA,
+ ("wrong mode %u", ic->ic_opmode));
+ capinfo = IEEE80211_CAPINFO_ESS;
if (ic->ic_flags & IEEE80211_F_PRIVACY)
capinfo |= IEEE80211_CAPINFO_PRIVACY;
/*
@@ -1323,14 +1337,7 @@
if (m == NULL)
senderr(ENOMEM, is_tx_nobuf);
- capinfo = IEEE80211_CAPINFO_ESS;
- if (ic->ic_flags & IEEE80211_F_PRIVACY)
- capinfo |= IEEE80211_CAPINFO_PRIVACY;
- if ((ic->ic_flags & IEEE80211_F_SHPREAMBLE) &&
- IEEE80211_IS_CHAN_2GHZ(ic->ic_curchan))
- capinfo |= IEEE80211_CAPINFO_SHORT_PREAMBLE;
- if (ic->ic_flags & IEEE80211_F_SHSLOT)
- capinfo |= IEEE80211_CAPINFO_SHORT_SLOTTIME;
+ capinfo = getcapinfo(ic, ic->ic_curchan);
*(u_int16_t *)frm = htole16(capinfo);
frm += 2;
@@ -1439,17 +1446,7 @@
frm += 8;
*(u_int16_t *)frm = htole16(ni->ni_intval);
frm += 2;
- if (ic->ic_opmode == IEEE80211_M_IBSS)
- capinfo = IEEE80211_CAPINFO_IBSS;
- else
- capinfo = IEEE80211_CAPINFO_ESS;
- if (ic->ic_flags & IEEE80211_F_PRIVACY)
- capinfo |= IEEE80211_CAPINFO_PRIVACY;
- if ((ic->ic_flags & IEEE80211_F_SHPREAMBLE) &&
- IEEE80211_IS_CHAN_2GHZ(ni->ni_chan))
- capinfo |= IEEE80211_CAPINFO_SHORT_PREAMBLE;
- if (ic->ic_flags & IEEE80211_F_SHSLOT)
- capinfo |= IEEE80211_CAPINFO_SHORT_SLOTTIME;
+ capinfo = getcapinfo(ic, ni->ni_chan);
bo->bo_caps = (u_int16_t *)frm;
*(u_int16_t *)frm = htole16(capinfo);
frm += 2;
@@ -1472,7 +1469,7 @@
*frm++ = 2;
*frm++ = 0; *frm++ = 0; /* TODO: ATIM window */
bo->bo_tim_len = 0;
- } else {
+ } else if (ic->ic_opmode == IEEE80211_M_HOSTAP) {
struct ieee80211_tim_ie *tie = (struct ieee80211_tim_ie *) frm;
tie->tim_ie = IEEE80211_ELEMID_TIM;
@@ -1527,17 +1524,7 @@
IEEE80211_BEACON_LOCK(ic);
/* XXX faster to recalculate entirely or just changes? */
- if (ic->ic_opmode == IEEE80211_M_IBSS)
- capinfo = IEEE80211_CAPINFO_IBSS;
- else
- capinfo = IEEE80211_CAPINFO_ESS;
- if (ic->ic_flags & IEEE80211_F_PRIVACY)
- capinfo |= IEEE80211_CAPINFO_PRIVACY;
- if ((ic->ic_flags & IEEE80211_F_SHPREAMBLE) &&
- IEEE80211_IS_CHAN_2GHZ(ni->ni_chan))
- capinfo |= IEEE80211_CAPINFO_SHORT_PREAMBLE;
- if (ic->ic_flags & IEEE80211_F_SHSLOT)
- capinfo |= IEEE80211_CAPINFO_SHORT_SLOTTIME;
+ capinfo = getcapinfo(ic, ni->ni_chan);
*bo->bo_caps = htole16(capinfo);
if (ic->ic_flags & IEEE80211_F_WME) {
More information about the p4-projects
mailing list