Date: Mon, 28 Apr 2014 07:48:34 +0000 (UTC) From: Mark Murray <markm@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r265043 - in projects/random_number_generator: release release/amd64 share/misc sys/amd64/amd64 sys/arm/arm sys/arm/freescale/imx sys/arm/include sys/arm/ti/omap4 sys/boot/fdt/dts/arm s... Message-ID: <201404280748.s3S7mYgn007790@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: markm Date: Mon Apr 28 07:48:33 2014 New Revision: 265043 URL: http://svnweb.freebsd.org/changeset/base/265043 Log: MFC - tracking commit Added: projects/random_number_generator/sys/boot/fdt/dts/arm/sun4i-a10.dtsi - copied unchanged from r265042, head/sys/boot/fdt/dts/arm/sun4i-a10.dtsi projects/random_number_generator/sys/boot/fdt/dts/arm/sun7i-a20.dtsi - copied unchanged from r265042, head/sys/boot/fdt/dts/arm/sun7i-a20.dtsi Modified: projects/random_number_generator/release/Makefile projects/random_number_generator/release/amd64/make-uefi-memstick.sh projects/random_number_generator/share/misc/bsd-family-tree projects/random_number_generator/sys/amd64/amd64/machdep.c projects/random_number_generator/sys/arm/arm/cpufunc_asm_armv7.S projects/random_number_generator/sys/arm/arm/dump_machdep.c projects/random_number_generator/sys/arm/arm/minidump_machdep.c projects/random_number_generator/sys/arm/arm/mp_machdep.c projects/random_number_generator/sys/arm/arm/pl310.c projects/random_number_generator/sys/arm/freescale/imx/imx6_pl310.c projects/random_number_generator/sys/arm/include/kdb.h projects/random_number_generator/sys/arm/include/pl310.h projects/random_number_generator/sys/arm/include/smp.h projects/random_number_generator/sys/arm/ti/omap4/omap4_l2cache.c projects/random_number_generator/sys/boot/fdt/dts/arm/cubieboard.dts projects/random_number_generator/sys/boot/fdt/dts/arm/cubieboard2.dts projects/random_number_generator/sys/boot/fdt/dts/arm/rpi.dts projects/random_number_generator/sys/boot/forth/beastie.4th projects/random_number_generator/sys/boot/forth/beastie.4th.8 projects/random_number_generator/sys/boot/forth/loader.conf.5 projects/random_number_generator/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c projects/random_number_generator/sys/dev/ath/ath_hal/ah.c projects/random_number_generator/sys/dev/ath/ath_hal/ah.h projects/random_number_generator/sys/dev/ath/ath_hal/ah_internal.h projects/random_number_generator/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/random_number_generator/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c projects/random_number_generator/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c projects/random_number_generator/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/random_number_generator/sys/dev/gpio/gpiobusvar.h projects/random_number_generator/sys/dev/gpio/ofw_gpiobus.c projects/random_number_generator/sys/dev/ofw/ofw_bus.h projects/random_number_generator/sys/dev/ofw/ofw_bus_if.m projects/random_number_generator/sys/dev/usb/controller/xhci.c projects/random_number_generator/sys/dev/usb/controller/xhci.h projects/random_number_generator/sys/dev/usb/controller/xhci_pci.c projects/random_number_generator/sys/dev/usb/controller/xhcireg.h projects/random_number_generator/sys/dev/vt/hw/vga/vga.c projects/random_number_generator/sys/net/rtsock.c projects/random_number_generator/usr.sbin/bsdinstall/partedit/partedit_x86.c Directory Properties: projects/random_number_generator/ (props changed) projects/random_number_generator/sys/ (props changed) projects/random_number_generator/sys/boot/ (props changed) Modified: projects/random_number_generator/release/Makefile ============================================================================== --- projects/random_number_generator/release/Makefile Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/release/Makefile Mon Apr 28 07:48:33 2014 (r265043) @@ -164,6 +164,7 @@ system: packagesystem ln -fs /tmp/bsdinstall_etc/resolv.conf release/etc/resolv.conf echo sendmail_enable=\"NONE\" > release/etc/rc.conf echo hostid_enable=\"NO\" >> release/etc/rc.conf + echo debug.witness.trace=0 >> release/etc/sysctl.conf cp ${.CURDIR}/rc.local release/etc touch ${.TARGET} @@ -188,6 +189,7 @@ bootonly: packagesystem ln -fs /tmp/bsdinstall_etc/resolv.conf bootonly/etc/resolv.conf echo sendmail_enable=\"NONE\" > bootonly/etc/rc.conf echo hostid_enable=\"NO\" >> bootonly/etc/rc.conf + echo debug.witness.trace=0 >> bootonly/etc/sysctl.conf cp ${.CURDIR}/rc.local bootonly/etc dvd: @@ -206,6 +208,7 @@ dvd: ln -fs /tmp/bsdinstall_etc/resolv.conf ${.TARGET}/etc/resolv.conf echo sendmail_enable=\"NONE\" > ${.TARGET}/etc/rc.conf echo hostid_enable=\"NO\" >> ${.TARGET}/etc/rc.conf + echo debug.witness.trace=0 >> ${.TARGET}/etc/sysctl.conf cp ${.CURDIR}/rc.local ${.TARGET}/etc touch ${.TARGET} Modified: projects/random_number_generator/release/amd64/make-uefi-memstick.sh ============================================================================== --- projects/random_number_generator/release/amd64/make-uefi-memstick.sh Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/release/amd64/make-uefi-memstick.sh Mon Apr 28 07:48:33 2014 (r265043) @@ -36,6 +36,6 @@ if [ $? -ne 0 ]; then fi rm ${1}/etc/fstab -mkimg -s gpt -b ${1}/boot/pmbr -p freebsd-boot:=${1}/boot/gptboot -p efi:=${1}/boot/boot1.efifat -p freebsd-ufs:=${2}.part -o ${2} +mkimg -s gpt -b ${1}/boot/pmbr -p efi:=${1}/boot/boot1.efifat -p freebsd-boot:=${1}/boot/gptboot -p freebsd-ufs:=${2}.part -p freebsd-swap::1M -o ${2} rm ${2}.part Modified: projects/random_number_generator/share/misc/bsd-family-tree ============================================================================== --- projects/random_number_generator/share/misc/bsd-family-tree Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/share/misc/bsd-family-tree Mon Apr 28 07:48:33 2014 (r265043) @@ -635,7 +635,7 @@ FreeBSD 10.0 2014-01-20 [FBD] NetBSD 6.0.4 2014-01-27 [NBD] NetBSD 6.1.3 2014-01-27 [NBD] DragonFly 3.6.1 2014-02-22 [DFB] -DragonFly 3.6.2 2014-03-27 [DFB] +DragonFly 3.6.2 2014-04-10 [DFB] NetBSD 6.0.5 2014-04-19 [NDB] NetBSD 6.1.4 2014-04-19 [NDB] Modified: projects/random_number_generator/sys/amd64/amd64/machdep.c ============================================================================== --- projects/random_number_generator/sys/amd64/amd64/machdep.c Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/amd64/amd64/machdep.c Mon Apr 28 07:48:33 2014 (r265043) @@ -1526,6 +1526,10 @@ add_efi_map_entries(struct efi_map_heade } } +static char bootmethod[16] = ""; +SYSCTL_STRING(_machdep, OID_AUTO, bootmethod, CTLFLAG_RD, bootmethod, 0, + "System firmware boot method"); + static void native_parse_memmap(caddr_t kmdp, vm_paddr_t *physmap, int *physmap_idx) { @@ -1550,9 +1554,11 @@ native_parse_memmap(caddr_t kmdp, vm_pad if (efihdr != NULL) { add_efi_map_entries(efihdr, physmap, physmap_idx); + strlcpy(bootmethod, "UEFI", sizeof(bootmethod)); } else { size = *((u_int32_t *)smap - 1); bios_add_smap_entries(smap, size, physmap, physmap_idx); + strlcpy(bootmethod, "BIOS", sizeof(bootmethod)); } } Modified: projects/random_number_generator/sys/arm/arm/cpufunc_asm_armv7.S ============================================================================== --- projects/random_number_generator/sys/arm/arm/cpufunc_asm_armv7.S Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/arm/arm/cpufunc_asm_armv7.S Mon Apr 28 07:48:33 2014 (r265043) @@ -251,7 +251,11 @@ ENTRY(armv7_idcache_wbinv_range) END(armv7_idcache_wbinv_range) ENTRY_NP(armv7_icache_sync_all) +#ifdef SMP mcr p15, 0, r0, c7, c1, 0 /* Invalidate all I cache to PoU Inner Shareable */ +#else + mcr p15, 0, r0, c7, c5, 0 /* Invalidate all I cache to PoU (ICIALLU) */ +#endif isb /* instruction synchronization barrier */ dsb /* data synchronization barrier */ RET Modified: projects/random_number_generator/sys/arm/arm/dump_machdep.c ============================================================================== --- projects/random_number_generator/sys/arm/arm/dump_machdep.c Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/arm/arm/dump_machdep.c Mon Apr 28 07:48:33 2014 (r265043) @@ -174,8 +174,14 @@ cb_dumpdata(struct md_pa *mdp, int seqnr printf(" chunk %d: %dMB (%d pages)", seqnr, pgs * PAGE_SIZE / ( 1024*1024), pgs); - /* Make sure we write coherent datas. */ + /* + * Make sure we write coherent data. Note that in the SMP case this + * only operates on the L1 cache of the current CPU, but all other CPUs + * have already been stopped, and their flush/invalidate was done as + * part of stopping. + */ cpu_idcache_wbinv_all(); + cpu_l2cache_wbinv_all(); #ifdef __XSCALE__ xscale_cache_clean_minidata(); #endif Modified: projects/random_number_generator/sys/arm/arm/minidump_machdep.c ============================================================================== --- projects/random_number_generator/sys/arm/arm/minidump_machdep.c Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/arm/arm/minidump_machdep.c Mon Apr 28 07:48:33 2014 (r265043) @@ -210,7 +210,15 @@ minidumpsys(struct dumperinfo *di) int i, k, bit, error; char *addr; - /* Flush cache */ + /* + * Flush caches. Note that in the SMP case this operates only on the + * current CPU's L1 cache. Before we reach this point, code in either + * the system shutdown or kernel debugger has called stop_cpus() to stop + * all cores other than this one. Part of the ARM handling of + * stop_cpus() is to call wbinv_all() on that core's local L1 cache. So + * by time we get to here, all that remains is to flush the L1 for the + * current CPU, then the L2. + */ cpu_idcache_wbinv_all(); cpu_l2cache_wbinv_all(); Modified: projects/random_number_generator/sys/arm/arm/mp_machdep.c ============================================================================== --- projects/random_number_generator/sys/arm/arm/mp_machdep.c Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/arm/arm/mp_machdep.c Mon Apr 28 07:48:33 2014 (r265043) @@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$"); #include <vm/pmap.h> #include <machine/cpu.h> +#include <machine/cpufunc.h> #include <machine/smp.h> #include <machine/pcb.h> #include <machine/pte.h> @@ -278,7 +279,6 @@ ipi_handler(void *arg) break; case IPI_STOP: - case IPI_STOP_HARD: /* * IPI_STOP_HARD is mapped to IPI_STOP so it is not * necessary to add it in the switch. @@ -287,6 +287,19 @@ ipi_handler(void *arg) savectx(&stoppcbs[cpu]); + /* + * CPUs are stopped when entering the debugger and at + * system shutdown, both events which can precede a + * panic dump. For the dump to be correct, all caches + * must be flushed and invalidated, but on ARM there's + * no way to broadcast a wbinv_all to other cores. + * Instead, we have each core do the local wbinv_all as + * part of stopping the core. The core requesting the + * stop will do the l2 cache flush after all other cores + * have done their l1 flushes and stopped. + */ + cpu_idcache_wbinv_all(); + /* Indicate we are stopped */ CPU_SET_ATOMIC(cpu, &stopped_cpus); Modified: projects/random_number_generator/sys/arm/arm/pl310.c ============================================================================== --- projects/random_number_generator/sys/arm/arm/pl310.c Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/arm/arm/pl310.c Mon Apr 28 07:48:33 2014 (r265043) @@ -84,6 +84,47 @@ static uint32_t g_ways_assoc; static struct pl310_softc *pl310_softc; +void +pl310_print_config(struct pl310_softc *sc) +{ + uint32_t aux, prefetch; + const char *dis = "disabled"; + const char *ena = "enabled"; + + aux = pl310_read4(sc, PL310_AUX_CTRL); + prefetch = pl310_read4(sc, PL310_PREFETCH_CTRL); + + device_printf(sc->sc_dev, "Early BRESP response: %s\n", + (aux & AUX_CTRL_EARLY_BRESP) ? ena : dis); + device_printf(sc->sc_dev, "Instruction prefetch: %s\n", + (aux & AUX_CTRL_INSTR_PREFETCH) ? ena : dis); + device_printf(sc->sc_dev, "Data prefetch: %s\n", + (aux & AUX_CTRL_DATA_PREFETCH) ? ena : dis); + device_printf(sc->sc_dev, "Non-secure interrupt control: %s\n", + (aux & AUX_CTRL_NS_INT_CTRL) ? ena : dis); + device_printf(sc->sc_dev, "Non-secure lockdown: %s\n", + (aux & AUX_CTRL_NS_LOCKDOWN) ? ena : dis); + device_printf(sc->sc_dev, "Share override: %s\n", + (aux & AUX_CTRL_SHARE_OVERRIDE) ? ena : dis); + + device_printf(sc->sc_dev, "Double linefill: %s\n", + (prefetch & PREFETCH_CTRL_DL) ? ena : dis); + device_printf(sc->sc_dev, "Instruction prefetch: %s\n", + (prefetch & PREFETCH_CTRL_INSTR_PREFETCH) ? ena : dis); + device_printf(sc->sc_dev, "Data prefetch: %s\n", + (prefetch & PREFETCH_CTRL_DATA_PREFETCH) ? ena : dis); + device_printf(sc->sc_dev, "Double linefill on WRAP request: %s\n", + (prefetch & PREFETCH_CTRL_DL_ON_WRAP) ? ena : dis); + device_printf(sc->sc_dev, "Prefetch drop: %s\n", + (prefetch & PREFETCH_CTRL_PREFETCH_DROP) ? ena : dis); + device_printf(sc->sc_dev, "Incr double Linefill: %s\n", + (prefetch & PREFETCH_CTRL_INCR_DL) ? ena : dis); + device_printf(sc->sc_dev, "Not same ID on exclusive sequence: %s\n", + (prefetch & PREFETCH_CTRL_NOTSAMEID) ? ena : dis); + device_printf(sc->sc_dev, "Prefetch offset: %d\n", + (prefetch & PREFETCH_CTRL_OFFSET_MASK)); +} + static int pl310_filter(void *arg) { @@ -351,6 +392,8 @@ pl310_attach(device_t dev) /* Enable the L2 cache if disabled */ platform_pl310_write_ctrl(sc, CTRL_ENABLED); device_printf(dev, "L2 Cache enabled\n"); + if (bootverbose) + pl310_print_config(sc); } if (!sc->sc_enabled && (ctrl_value & CTRL_ENABLED)) { Modified: projects/random_number_generator/sys/arm/freescale/imx/imx6_pl310.c ============================================================================== --- projects/random_number_generator/sys/arm/freescale/imx/imx6_pl310.c Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/arm/freescale/imx/imx6_pl310.c Mon Apr 28 07:48:33 2014 (r265043) @@ -44,42 +44,6 @@ __FBSDID("$FreeBSD$"); void platform_pl310_init(struct pl310_softc *sc) { - uint32_t aux, prefetch; - - aux = pl310_read4(sc, PL310_AUX_CTRL); - prefetch = pl310_read4(sc, PL310_PREFETCH_CTRL); - - if (bootverbose) { - device_printf(sc->sc_dev, "Early BRESP response: %s\n", - (aux & AUX_CTRL_EARLY_BRESP) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Instruction prefetch: %s\n", - (aux & AUX_CTRL_INSTR_PREFETCH) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Data prefetch: %s\n", - (aux & AUX_CTRL_DATA_PREFETCH) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Non-secure interrupt control: %s\n", - (aux & AUX_CTRL_NS_INT_CTRL) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Non-secure lockdown: %s\n", - (aux & AUX_CTRL_NS_LOCKDOWN) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Share override: %s\n", - (aux & AUX_CTRL_SHARE_OVERRIDE) ? "enabled" : "disabled"); - - device_printf(sc->sc_dev, "Double linefil: %s\n", - (prefetch & PREFETCH_CTRL_DL) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Instruction prefetch: %s\n", - (prefetch & PREFETCH_CTRL_INSTR_PREFETCH) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Data prefetch: %s\n", - (prefetch & PREFETCH_CTRL_DATA_PREFETCH) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Double linefill on WRAP request: %s\n", - (prefetch & PREFETCH_CTRL_DL_ON_WRAP) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Prefetch drop: %s\n", - (prefetch & PREFETCH_CTRL_PREFETCH_DROP) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Incr double Linefill: %s\n", - (prefetch & PREFETCH_CTRL_INCR_DL) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Not same ID on exclusive sequence: %s\n", - (prefetch & PREFETCH_CTRL_NOTSAMEID) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Prefetch offset: %d\n", - (prefetch & PREFETCH_CTRL_OFFSET_MASK)); - } } void Modified: projects/random_number_generator/sys/arm/include/kdb.h ============================================================================== --- projects/random_number_generator/sys/arm/include/kdb.h Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/arm/include/kdb.h Mon Apr 28 07:48:33 2014 (r265043) @@ -55,8 +55,6 @@ kdb_cpu_sync_icache(unsigned char *addr, static __inline void kdb_cpu_trap(int type, int code) { - - cpu_idcache_wbinv_all(); } #endif /* _MACHINE_KDB_H_ */ Modified: projects/random_number_generator/sys/arm/include/pl310.h ============================================================================== --- projects/random_number_generator/sys/arm/include/pl310.h Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/arm/include/pl310.h Mon Apr 28 07:48:33 2014 (r265043) @@ -161,6 +161,8 @@ pl310_write4(struct pl310_softc *sc, bus bus_write_4(sc->sc_mem_res, off, val); } +void pl310_print_config(struct pl310_softc *sc); + void platform_pl310_init(struct pl310_softc *); void platform_pl310_write_ctrl(struct pl310_softc *, uint32_t); void platform_pl310_write_debug(struct pl310_softc *, uint32_t); Modified: projects/random_number_generator/sys/arm/include/smp.h ============================================================================== --- projects/random_number_generator/sys/arm/include/smp.h Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/arm/include/smp.h Mon Apr 28 07:48:33 2014 (r265043) @@ -10,7 +10,7 @@ #define IPI_PREEMPT 2 #define IPI_RENDEZVOUS 3 #define IPI_STOP 4 -#define IPI_STOP_HARD 5 +#define IPI_STOP_HARD 4 #define IPI_HARDCLOCK 6 #define IPI_TLB 7 Modified: projects/random_number_generator/sys/arm/ti/omap4/omap4_l2cache.c ============================================================================== --- projects/random_number_generator/sys/arm/ti/omap4/omap4_l2cache.c Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/arm/ti/omap4/omap4_l2cache.c Mon Apr 28 07:48:33 2014 (r265043) @@ -45,38 +45,6 @@ platform_pl310_init(struct pl310_softc * aux = pl310_read4(sc, PL310_AUX_CTRL); prefetch = pl310_read4(sc, PL310_PREFETCH_CTRL); - if (bootverbose) { - device_printf(sc->sc_dev, "Early BRESP response: %s\n", - (aux & AUX_CTRL_EARLY_BRESP) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Instruction prefetch: %s\n", - (aux & AUX_CTRL_INSTR_PREFETCH) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Data prefetch: %s\n", - (aux & AUX_CTRL_DATA_PREFETCH) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Non-secure interrupt control: %s\n", - (aux & AUX_CTRL_NS_INT_CTRL) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Non-secure lockdown: %s\n", - (aux & AUX_CTRL_NS_LOCKDOWN) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Share override: %s\n", - (aux & AUX_CTRL_SHARE_OVERRIDE) ? "enabled" : "disabled"); - - device_printf(sc->sc_dev, "Double linefil: %s\n", - (prefetch & PREFETCH_CTRL_DL) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Instruction prefetch: %s\n", - (prefetch & PREFETCH_CTRL_INSTR_PREFETCH) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Data prefetch: %s\n", - (prefetch & PREFETCH_CTRL_DATA_PREFETCH) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Double linefill on WRAP request: %s\n", - (prefetch & PREFETCH_CTRL_DL_ON_WRAP) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Prefetch drop: %s\n", - (prefetch & PREFETCH_CTRL_PREFETCH_DROP) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Incr double Linefill: %s\n", - (prefetch & PREFETCH_CTRL_INCR_DL) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Not same ID on exclusive sequence: %s\n", - (prefetch & PREFETCH_CTRL_NOTSAMEID) ? "enabled" : "disabled"); - device_printf(sc->sc_dev, "Prefetch offset: %d\n", - (prefetch & PREFETCH_CTRL_OFFSET_MASK)); - } - /* * Disable instruction prefetch */ Modified: projects/random_number_generator/sys/boot/fdt/dts/arm/cubieboard.dts ============================================================================== --- projects/random_number_generator/sys/boot/fdt/dts/arm/cubieboard.dts Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/boot/fdt/dts/arm/cubieboard.dts Mon Apr 28 07:48:33 2014 (r265043) @@ -28,13 +28,10 @@ /dts-v1/; +/include/ "sun4i-a10.dtsi" + / { model = "Cubietech Cubieboard"; - compatible = "cubietech,a10-cubieboard", "allwinner,sun4i-a10"; - #address-cells = <1>; - #size-cells = <1>; - - interrupt-parent = <&AINTC>; memory { device_type = "memory"; @@ -47,96 +44,21 @@ }; SOC: a10 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "simple-bus"; - ranges; - bus-frequency = <0>; - - AINTC: interrupt-controller@01c20400 { - compatible = "allwinner,sun4i-ic"; - interrupt-controller; - #address-cells = <0>; - #interrupt-cells = <1>; - reg = < 0x01c20400 0x400 >; - }; - - sramc@01c00000 { - compatible = "allwinner,sun4i-sramc"; - #address-cells = <1>; - #size-cells = <1>; - reg = < 0x01c00000 0x1000 >; - }; - - ccm@01c20000 { - compatible = "allwinner,sun4i-ccm"; - #address-cells = <1>; - #size-cells = <1>; - reg = < 0x01c20000 0x400 >; - }; - - timer@01c20c00 { - compatible = "allwinner,sun4i-timer"; - reg = <0x01c20c00 0x90>; - interrupts = < 22 >; - interrupt-parent = <&AINTC>; - clock-frequency = < 24000000 >; - }; - - watchdog@01c20c90 { - compatible = "allwinner,sun4i-wdt"; - reg = <0x01c20c90 0x08>; - }; - - - GPIO: gpio@01c20800 { - #gpio-cells = <3>; - compatible = "allwinner,sun4i-gpio"; - gpio-controller; - reg =< 0x01c20800 0x400 >; - interrupts = < 28 >; - interrupt-parent = <&AINTC>; - }; usb1: usb@01c14000 { - compatible = "allwinner,usb-ehci", "usb-ehci"; - reg = <0x01c14000 0x1000>; - interrupts = < 39 >; - interrupt-parent = <&AINTC>; + status = "okay"; }; usb2: usb@01c1c000 { - compatible = "allwinner,usb-ehci", "usb-ehci"; - reg = <0x01c1c000 0x1000>; - interrupts = < 40 >; - interrupt-parent = <&AINTC>; - }; - - sata@01c18000 { - compatible = "allwinner,ahci"; - reg = <0x01c18000 0x1000>; - interrupts = <56>; - interrupt-parent = <&AINTC>; + status = "okay"; }; UART0: serial@01c28000 { status = "okay"; - compatible = "ns16550"; - reg = <0x01c28000 0x400>; - reg-shift = <2>; - interrupts = <1>; - interrupt-parent = <&AINTC>; - current-speed = <115200>; - clock-frequency = < 24000000 >; - busy-detect = <1>; - broken-txfifo = <1>; }; emac@01c0b000 { - compatible = "allwinner,sun4i-emac"; - reg = <0x01c0b000 0x1000>; - interrupts = <55>; - interrupt-parent = <&AINTC>; + status = "okay"; }; }; Modified: projects/random_number_generator/sys/boot/fdt/dts/arm/cubieboard2.dts ============================================================================== --- projects/random_number_generator/sys/boot/fdt/dts/arm/cubieboard2.dts Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/boot/fdt/dts/arm/cubieboard2.dts Mon Apr 28 07:48:33 2014 (r265043) @@ -28,13 +28,10 @@ /dts-v1/; +/include/ "sun7i-a20.dtsi" + / { model = "Cubietech Cubieboard2"; - compatible = "cubietech,a20-cubieboard", "allwinner,sun7i-a20"; - #address-cells = <1>; - #size-cells = <1>; - - interrupt-parent = <&GIC>; memory { device_type = "memory"; @@ -47,102 +44,21 @@ }; SOC: a20 { - #address-cells = <1>; - #size-cells = <1>; - compatible = "simple-bus"; - ranges; - bus-frequency = <0>; - - GIC: interrupt-controller@01c81000 { - compatible = "arm,gic"; - reg = <0x01c81000 0x1000>, /* Distributor Registers */ - <0x01c82000 0x0100>; /* CPU Interface Registers */ - interrupt-controller; - #interrupt-cells = <1>; - }; - - sramc@01c00000 { - compatible = "allwinner,sun4i-sramc"; - #address-cells = <1>; - #size-cells = <1>; - reg = < 0x01c00000 0x1000 >; - }; - - cpu-cfg@01c25c00 { - compatible = "allwinner,sun7i-cpu-cfg"; - #address-cells = <1>; - #size-cells = <1>; - reg = < 0x01c25c00 0x400 >; - }; - - ccm@01c20000 { - compatible = "allwinner,sun4i-ccm"; - #address-cells = <1>; - #size-cells = <1>; - reg = < 0x01c20000 0x400 >; - }; - - timer@01c20c00 { - compatible = "allwinner,sun7i-timer"; - reg = <0x01c20c00 0x90>; - interrupts = < 22 >; - interrupt-parent = <&GIC>; - clock-frequency = < 24000000 >; - }; - - watchdog@01c20c90 { - compatible = "allwinner,sun4i-wdt"; - reg = <0x01c20c90 0x10>; - }; - - GPIO: gpio@01c20800 { - #gpio-cells = <3>; - compatible = "allwinner,sun4i-gpio"; - gpio-controller; - reg =< 0x01c20800 0x400 >; - interrupts = < 28 >; - interrupt-parent = <&GIC>; - }; usb1: usb@01c14000 { - compatible = "allwinner,usb-ehci", "usb-ehci"; - reg = <0x01c14000 0x1000>; - interrupts = < 39 >; - interrupt-parent = <&GIC>; + status = "okay"; }; usb2: usb@01c1c000 { - compatible = "allwinner,usb-ehci", "usb-ehci"; - reg = <0x01c1c000 0x1000>; - interrupts = < 40 >; - interrupt-parent = <&GIC>; - }; - - sata@01c18000 { - compatible = "allwinner,ahci"; - reg = <0x01c18000 0x1000>; - interrupts = <56>; - interrupt-parent = <&GIC>; + status = "okay"; }; UART0: serial@01c28000 { status = "okay"; - compatible = "ns16550"; - reg = <0x01c28000 0x400>; - reg-shift = <2>; - interrupts = <1>; - interrupt-parent = <&GIC>; - current-speed = <115200>; - clock-frequency = < 24000000 >; - busy-detect = <1>; - broken-txfifo = <1>; }; emac@01c0b000 { - compatible = "allwinner,sun4i-emac"; - reg = <0x01c0b000 0x1000>; - interrupts = <55>; - interrupt-parent = <&GIC>; + status = "okay"; }; }; Modified: projects/random_number_generator/sys/boot/fdt/dts/arm/rpi.dts ============================================================================== --- projects/random_number_generator/sys/boot/fdt/dts/arm/rpi.dts Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/boot/fdt/dts/arm/rpi.dts Mon Apr 28 07:48:33 2014 (r265043) @@ -316,7 +316,7 @@ ok { label = "ok"; - gpios = <&gpio 16 2 0>; + gpios = <&gpio 16 1>; /* Don't change this - it configures * how the led driver determines if Copied: projects/random_number_generator/sys/boot/fdt/dts/arm/sun4i-a10.dtsi (from r265042, head/sys/boot/fdt/dts/arm/sun4i-a10.dtsi) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/random_number_generator/sys/boot/fdt/dts/arm/sun4i-a10.dtsi Mon Apr 28 07:48:33 2014 (r265043, copy of r265042, head/sys/boot/fdt/dts/arm/sun4i-a10.dtsi) @@ -0,0 +1,133 @@ +/*- + * Copyright (c) 2014 Ganbold Tsagaankhuu <ganbold@freebsd.org> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (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$ + */ + +/ { + compatible = "allwinner,sun4i-a10"; + #address-cells = <1>; + #size-cells = <1>; + + interrupt-parent = <&AINTC>; + + aliases { + soc = &SOC; + }; + + SOC: a10 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + ranges; + bus-frequency = <0>; + + AINTC: interrupt-controller@01c20400 { + compatible = "allwinner,sun4i-ic"; + interrupt-controller; + #address-cells = <0>; + #interrupt-cells = <1>; + reg = < 0x01c20400 0x400 >; + }; + + sramc@01c00000 { + compatible = "allwinner,sun4i-sramc"; + #address-cells = <1>; + #size-cells = <1>; + reg = < 0x01c00000 0x1000 >; + }; + + ccm@01c20000 { + compatible = "allwinner,sun4i-ccm"; + #address-cells = <1>; + #size-cells = <1>; + reg = < 0x01c20000 0x400 >; + }; + + timer@01c20c00 { + compatible = "allwinner,sun4i-timer"; + reg = <0x01c20c00 0x90>; + interrupts = < 22 >; + interrupt-parent = <&AINTC>; + clock-frequency = < 24000000 >; + }; + + watchdog@01c20c90 { + compatible = "allwinner,sun4i-wdt"; + reg = <0x01c20c90 0x08>; + }; + + + GPIO: gpio@01c20800 { + #gpio-cells = <3>; + compatible = "allwinner,sun4i-gpio"; + gpio-controller; + reg =< 0x01c20800 0x400 >; + interrupts = < 28 >; + interrupt-parent = <&AINTC>; + }; + + usb1: usb@01c14000 { + compatible = "allwinner,usb-ehci", "usb-ehci"; + reg = <0x01c14000 0x1000>; + interrupts = < 39 >; + interrupt-parent = <&AINTC>; + }; + + usb2: usb@01c1c000 { + compatible = "allwinner,usb-ehci", "usb-ehci"; + reg = <0x01c1c000 0x1000>; + interrupts = < 40 >; + interrupt-parent = <&AINTC>; + }; + + sata@01c18000 { + compatible = "allwinner,ahci"; + reg = <0x01c18000 0x1000>; + interrupts = <56>; + interrupt-parent = <&AINTC>; + }; + + UART0: serial@01c28000 { + compatible = "ns16550"; + reg = <0x01c28000 0x400>; + reg-shift = <2>; + interrupts = <1>; + interrupt-parent = <&AINTC>; + current-speed = <115200>; + clock-frequency = < 24000000 >; + busy-detect = <1>; + broken-txfifo = <1>; + }; + + emac@01c0b000 { + compatible = "allwinner,sun4i-emac"; + reg = <0x01c0b000 0x1000>; + interrupts = <55>; + interrupt-parent = <&AINTC>; + }; + }; +}; + Copied: projects/random_number_generator/sys/boot/fdt/dts/arm/sun7i-a20.dtsi (from r265042, head/sys/boot/fdt/dts/arm/sun7i-a20.dtsi) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/random_number_generator/sys/boot/fdt/dts/arm/sun7i-a20.dtsi Mon Apr 28 07:48:33 2014 (r265043, copy of r265042, head/sys/boot/fdt/dts/arm/sun7i-a20.dtsi) @@ -0,0 +1,139 @@ +/*- + * Copyright (c) 2014 Ganbold Tsagaankhuu <ganbold@freebsd.org> + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (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$ + */ + +/ { + compatible = "allwinner,sun7i-a20"; + #address-cells = <1>; + #size-cells = <1>; + + interrupt-parent = <&GIC>; + + aliases { + soc = &SOC; + }; + + SOC: a20 { + #address-cells = <1>; + #size-cells = <1>; + compatible = "simple-bus"; + ranges; + bus-frequency = <0>; + + GIC: interrupt-controller@01c81000 { + compatible = "arm,gic"; + reg = <0x01c81000 0x1000>, /* Distributor Registers */ + <0x01c82000 0x0100>; /* CPU Interface Registers */ + interrupt-controller; + #interrupt-cells = <1>; + }; + + sramc@01c00000 { + compatible = "allwinner,sun4i-sramc"; + #address-cells = <1>; + #size-cells = <1>; + reg = < 0x01c00000 0x1000 >; + }; + + cpu-cfg@01c25c00 { + compatible = "allwinner,sun7i-cpu-cfg"; + #address-cells = <1>; + #size-cells = <1>; + reg = < 0x01c25c00 0x400 >; + }; + + ccm@01c20000 { + compatible = "allwinner,sun4i-ccm"; + #address-cells = <1>; + #size-cells = <1>; + reg = < 0x01c20000 0x400 >; + }; + + timer@01c20c00 { + compatible = "allwinner,sun7i-timer"; + reg = <0x01c20c00 0x90>; + interrupts = < 22 >; + interrupt-parent = <&GIC>; + clock-frequency = < 24000000 >; + }; + + watchdog@01c20c90 { + compatible = "allwinner,sun4i-wdt"; + reg = <0x01c20c90 0x10>; + }; + + GPIO: gpio@01c20800 { + #gpio-cells = <3>; + compatible = "allwinner,sun4i-gpio"; + gpio-controller; + reg =< 0x01c20800 0x400 >; + interrupts = < 28 >; + interrupt-parent = <&GIC>; + }; + + usb1: usb@01c14000 { + compatible = "allwinner,usb-ehci", "usb-ehci"; + reg = <0x01c14000 0x1000>; + interrupts = < 39 >; + interrupt-parent = <&GIC>; + }; + + usb2: usb@01c1c000 { + compatible = "allwinner,usb-ehci", "usb-ehci"; + reg = <0x01c1c000 0x1000>; + interrupts = < 40 >; + interrupt-parent = <&GIC>; + }; + + sata@01c18000 { + compatible = "allwinner,ahci"; + reg = <0x01c18000 0x1000>; + interrupts = <56>; + interrupt-parent = <&GIC>; + }; + + UART0: serial@01c28000 { + compatible = "ns16550"; + reg = <0x01c28000 0x400>; + reg-shift = <2>; + interrupts = <1>; + interrupt-parent = <&GIC>; + current-speed = <115200>; + clock-frequency = < 24000000 >; + busy-detect = <1>; + broken-txfifo = <1>; + }; + + emac@01c0b000 { + compatible = "allwinner,sun4i-emac"; + reg = <0x01c0b000 0x1000>; + interrupts = <55>; + interrupt-parent = <&GIC>; + }; + }; +}; + Modified: projects/random_number_generator/sys/boot/forth/beastie.4th ============================================================================== --- projects/random_number_generator/sys/boot/forth/beastie.4th Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/boot/forth/beastie.4th Mon Apr 28 07:48:33 2014 (r265043) @@ -242,6 +242,11 @@ variable logoY ; : beastie-start ( -- ) \ starts the menu + s" console" getenv dup -1 <> if + s" efi" 2swap contains? if + s" set beastie_disable=YES" evaluate + then + else drop then s" beastie_disable" getenv dup -1 <> if s" YES" compare-insensitive 0= if Modified: projects/random_number_generator/sys/boot/forth/beastie.4th.8 ============================================================================== --- projects/random_number_generator/sys/boot/forth/beastie.4th.8 Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/boot/forth/beastie.4th.8 Mon Apr 28 07:48:33 2014 (r265043) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 16, 2011 +.Dd April 27, 2014 .Dt BEASTIE.4TH 8 .Os .Sh NAME @@ -119,6 +119,8 @@ Sets the desired row position of the log If set to .Dq YES , the beastie boot menu will be skipped. +The beastie boot menu is always skipped if booting UEFI or running non-x86 +hardware. .It Va loader_delay If set to a number higher than zero, introduces a delay before starting the beastie boot menu. During the delay the user can press either Ctrl-C to skip Modified: projects/random_number_generator/sys/boot/forth/loader.conf.5 ============================================================================== --- projects/random_number_generator/sys/boot/forth/loader.conf.5 Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/boot/forth/loader.conf.5 Mon Apr 28 07:48:33 2014 (r265043) @@ -23,7 +23,7 @@ .\" SUCH DAMAGE. .\" .\" $FreeBSD$ -.Dd October 18, 2013 +.Dd April 27, 2014 .Dt LOADER.CONF 5 .Os .Sh NAME @@ -236,6 +236,8 @@ be displayed. If set to .Dq YES , the beastie boot menu will be skipped. +The beastie boot menu is always skipped if booting UEFI or running non-x86 +hardware. .It Va loader_logo Pq Dq Li orbbw Selects a desired logo in the beastie boot menu. Possible values are: Modified: projects/random_number_generator/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c ============================================================================== --- projects/random_number_generator/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c Mon Apr 28 07:48:33 2014 (r265043) @@ -2934,6 +2934,10 @@ ar9300_fill_capability_info(struct ath_h p_cap->halRxUsingLnaMixing = AH_TRUE; } + /* + * AR5416 and later NICs support MYBEACON filtering. + */ + p_cap->halRxDoMyBeacon = AH_TRUE; #if ATH_WOW_OFFLOAD if (AR_SREV_JUPITER_20_OR_LATER(ah) || AR_SREV_APHRODITE(ah)) { Modified: projects/random_number_generator/sys/dev/ath/ath_hal/ah.c ============================================================================== --- projects/random_number_generator/sys/dev/ath/ath_hal/ah.c Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/dev/ath/ath_hal/ah.c Mon Apr 28 07:48:33 2014 (r265043) @@ -786,6 +786,8 @@ ath_hal_getcapability(struct ath_hal *ah return HAL_OK; case HAL_CAP_RX_LNA_MIXING: /* Hardware uses an RX LNA mixer to map 2 antennas to a 1 stream receiver */ return pCap->halRxUsingLnaMixing ? HAL_OK : HAL_ENOTSUPP; + case HAL_CAP_DO_MYBEACON: /* Hardware supports filtering my-beacons */ + return pCap->halRxDoMyBeacon ? HAL_OK : HAL_ENOTSUPP; default: return HAL_EINVAL; } Modified: projects/random_number_generator/sys/dev/ath/ath_hal/ah.h ============================================================================== --- projects/random_number_generator/sys/dev/ath/ath_hal/ah.h Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/dev/ath/ath_hal/ah.h Mon Apr 28 07:48:33 2014 (r265043) @@ -199,6 +199,7 @@ typedef enum { HAL_CAP_SERIALISE_WAR = 245, /* serialise register access on PCI */ HAL_CAP_ENFORCE_TXOP = 246, /* Enforce TXOP if supported */ HAL_CAP_RX_LNA_MIXING = 247, /* RX hardware uses LNA mixing */ + HAL_CAP_DO_MYBEACON = 248, /* Supports HAL_RX_FILTER_MYBEACON */ } HAL_CAPABILITY_TYPE; /* @@ -404,6 +405,7 @@ typedef enum { HAL_RX_FILTER_PROM = 0x00000020, /* Promiscuous mode */ HAL_RX_FILTER_PROBEREQ = 0x00000080, /* Allow probe request frames */ HAL_RX_FILTER_PHYERR = 0x00000100, /* Allow phy errors */ + HAL_RX_FILTER_MYBEACON = 0x00000200, /* Filter beacons other than mine */ HAL_RX_FILTER_COMPBAR = 0x00000400, /* Allow compressed BAR */ HAL_RX_FILTER_COMP_BA = 0x00000800, /* Allow compressed blockack */ HAL_RX_FILTER_PHYRADAR = 0x00002000, /* Allow phy radar errors */ Modified: projects/random_number_generator/sys/dev/ath/ath_hal/ah_internal.h ============================================================================== --- projects/random_number_generator/sys/dev/ath/ath_hal/ah_internal.h Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/dev/ath/ath_hal/ah_internal.h Mon Apr 28 07:48:33 2014 (r265043) @@ -280,7 +280,8 @@ typedef struct { halAntDivCombSupportOrg : 1, halRadioRetentionSupport : 1, halSpectralScanSupport : 1, - halRxUsingLnaMixing : 1; + halRxUsingLnaMixing : 1, + halRxDoMyBeacon : 1; uint32_t halWirelessModes; uint16_t halTotalQueues; Modified: projects/random_number_generator/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c ============================================================================== --- projects/random_number_generator/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c Mon Apr 28 07:48:33 2014 (r265043) @@ -1059,6 +1059,11 @@ ar5416FillCapabilityInfo(struct ath_hal if (! AH_PRIVATE(ah)->ah_ispcie) pCap->halSerialiseRegWar = 1; + /* + * AR5416 and later NICs support MYBEACON filtering. + */ + pCap->halRxDoMyBeacon = AH_TRUE; + return AH_TRUE; } Modified: projects/random_number_generator/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c ============================================================================== --- projects/random_number_generator/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c Mon Apr 28 06:24:37 2014 (r265042) +++ projects/random_number_generator/sys/dev/ath/ath_hal/ar5416/ar5416_beacon.c Mon Apr 28 07:48:33 2014 (r265043) @@ -197,6 +197,25 @@ ar5416SetStaBeaconTimers(struct ath_hal * beacon jitter; cab timeout is max time to wait for cab * after seeing the last DTIM or MORE CAB bit */ + +/* *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404280748.s3S7mYgn007790>