Date: Mon, 11 Mar 2013 10:49:02 +0000 (UTC) From: Attilio Rao <attilio@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r248152 - in user/attilio/vmcontention: . etc/mtree sys/amd64/amd64 sys/arm/arm sys/arm/include sys/boot/common sys/boot/fdt sys/conf sys/dev/ath sys/dev/ath/ath_hal/ar5416 sys/i386/i38... Message-ID: <201303111049.r2BAn2SM096622@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: attilio Date: Mon Mar 11 10:49:02 2013 New Revision: 248152 URL: http://svnweb.freebsd.org/changeset/base/248152 Log: MFC Added: user/attilio/vmcontention/sys/libkern/arm/memcpy.S - copied unchanged from r248150, head/sys/libkern/arm/memcpy.S Modified: user/attilio/vmcontention/ObsoleteFiles.inc user/attilio/vmcontention/etc/mtree/BSD.include.dist user/attilio/vmcontention/sys/amd64/amd64/pmap.c user/attilio/vmcontention/sys/arm/arm/db_trace.c user/attilio/vmcontention/sys/arm/arm/disassem.c user/attilio/vmcontention/sys/arm/arm/exception.S user/attilio/vmcontention/sys/arm/include/param.h user/attilio/vmcontention/sys/boot/common/load_elf.c user/attilio/vmcontention/sys/boot/fdt/fdt_loader_cmd.c user/attilio/vmcontention/sys/conf/Makefile.arm user/attilio/vmcontention/sys/conf/files.arm user/attilio/vmcontention/sys/conf/ldscript.arm user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416reg.h user/attilio/vmcontention/sys/dev/ath/if_ath_rx.c user/attilio/vmcontention/sys/dev/ath/if_athioctl.h user/attilio/vmcontention/sys/i386/i386/pmap.c user/attilio/vmcontention/sys/kern/kern_timeout.c user/attilio/vmcontention/sys/net80211/ieee80211_superg.c user/attilio/vmcontention/sys/vm/vm_page.c user/attilio/vmcontention/usr.bin/netstat/netstat.1 user/attilio/vmcontention/usr.sbin/pkg/Makefile Directory Properties: user/attilio/vmcontention/ (props changed) user/attilio/vmcontention/sys/ (props changed) user/attilio/vmcontention/sys/boot/ (props changed) user/attilio/vmcontention/sys/conf/ (props changed) Modified: user/attilio/vmcontention/ObsoleteFiles.inc ============================================================================== --- user/attilio/vmcontention/ObsoleteFiles.inc Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/ObsoleteFiles.inc Mon Mar 11 10:49:02 2013 (r248152) @@ -38,7 +38,7 @@ # xargs -n1 | sort | uniq -d; # done -# 20130902: NWFS and NCP supports removed +# 20130309: NWFS and NCP supports removed OLD_FILES+=usr/bin/ncplist OLD_FILES+=usr/bin/ncplogin OLD_FILES+=usr/bin/ncplogout @@ -71,6 +71,9 @@ OLD_FILES+=usr/lib32/libncp.so OLD_LIBS+=usr/lib32/libncp.so.4 OLD_FILES+=usr/lib32/libncp_p.a OLD_FILES+=usr/sbin/mount_nwfs +OLD_FILES+=usr/share/examples/nwclient/dot.nwfsrc +OLD_FILES+=usr/share/examples/nwclient/nwfs.sh.sample +OLD_DIRS+=usr/share/examples/nwclient OLD_FILES+=usr/share/man/man1/ncplist.1.gz OLD_FILES+=usr/share/man/man1/ncplogin.1.gz OLD_FILES+=usr/share/man/man1/ncplogout.1.gz @@ -99,6 +102,12 @@ OLD_FILES+=usr/share/man/man8/mount_port OLD_FILES+=usr/share/man/man4/coda.4.gz # 20130302: XFS support removed OLD_FILES+=usr/share/man/man5/xfs.5.gz +# 20130302: Capsicum overhaul +OLD_FILES+=usr/share/man/man2/cap_getrights.2.gz +OLD_FILES+=usr/share/man/man2/cap_new.2.gz +# 20130213: OpenSSL 1.0.1e import +OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_verifyrecover.3.gz +OLD_FILES+=usr/share/openssl/man/man3/EVP_PKEY_verifyrecover_init.3.gz # 20130116: removed long unused directories for .1aout section manpages OLD_FILES+=usr/share/man/en.ISO8859-1/man1aout OLD_FILES+=usr/share/man/en.UTF-8/man1aout Modified: user/attilio/vmcontention/etc/mtree/BSD.include.dist ============================================================================== --- user/attilio/vmcontention/etc/mtree/BSD.include.dist Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/etc/mtree/BSD.include.dist Mon Mar 11 10:49:02 2013 (r248152) @@ -174,8 +174,6 @@ .. nullfs .. - portalfs - .. procfs .. udf Modified: user/attilio/vmcontention/sys/amd64/amd64/pmap.c ============================================================================== --- user/attilio/vmcontention/sys/amd64/amd64/pmap.c Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/amd64/amd64/pmap.c Mon Mar 11 10:49:02 2013 (r248152) @@ -670,7 +670,6 @@ pmap_bootstrap(vm_paddr_t *firstaddr) */ PMAP_LOCK_INIT(kernel_pmap); kernel_pmap->pm_pml4 = (pdp_entry_t *)PHYS_TO_DMAP(KPML4phys); - kernel_pmap->pm_root = NULL; CPU_FILL(&kernel_pmap->pm_active); /* don't allow deactivation */ TAILQ_INIT(&kernel_pmap->pm_pvchunk); Modified: user/attilio/vmcontention/sys/arm/arm/db_trace.c ============================================================================== --- user/attilio/vmcontention/sys/arm/arm/db_trace.c Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/arm/arm/db_trace.c Mon Mar 11 10:49:02 2013 (r248152) @@ -377,7 +377,7 @@ db_stack_trace_cmd(struct unwind_state * index = db_find_index(state->start_pc); if (index->insn == EXIDX_CANTUNWIND) { - printf("Unable to unwind\n"); + db_printf("Unable to unwind\n"); break; } else if (index->insn & (1 << 31)) { /* The data is within the instruction */ @@ -612,10 +612,13 @@ db_trace_self(void) { #ifdef __ARM_EABI__ struct unwind_state state; - register uint32_t sp __asm__ ("sp"); + uint32_t sp; + + /* Read the stack pointer */ + __asm __volatile("mov %0, sp" : "=&r" (sp)); state.registers[FP] = (uint32_t)__builtin_frame_address(0); - state.registers[SP] = (uint32_t)sp; + state.registers[SP] = sp; state.registers[LR] = (uint32_t)__builtin_return_address(0); state.registers[PC] = (uint32_t)db_trace_self; Modified: user/attilio/vmcontention/sys/arm/arm/disassem.c ============================================================================== --- user/attilio/vmcontention/sys/arm/arm/disassem.c Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/arm/arm/disassem.c Mon Mar 11 10:49:02 2013 (r248152) @@ -130,7 +130,7 @@ static const struct arm32_insn arm32_i[] { 0x0c500000, 0x04100000, "ldr", "daW" }, { 0x0c500000, 0x04400000, "strb", "daW" }, { 0x0c500000, 0x04500000, "ldrb", "daW" }, -#ifdef __FreeBSD_ARCH_armv6__ +#if defined(__FreeBSD_ARCH_armv6__) || (defined(__ARM_ARCH) && __ARM_ARCH >= 6) { 0xffffffff, 0xf57ff01f, "clrex", "c" }, { 0x0ff00ff0, 0x01800f90, "strex", "dmo" }, { 0x0ff00fff, 0x01900f9f, "ldrex", "do" }, Modified: user/attilio/vmcontention/sys/arm/arm/exception.S ============================================================================== --- user/attilio/vmcontention/sys/arm/arm/exception.S Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/arm/arm/exception.S Mon Mar 11 10:49:02 2013 (r248152) @@ -77,6 +77,9 @@ Lreset_panicmsg: * Handler for the Software Interrupt exception. */ ASENTRY_NP(swi_entry) + .fnstart + .cantunwind /* Don't unwind past here */ + PUSHFRAME mov r0, sp /* Pass the frame to any function */ @@ -88,6 +91,7 @@ ASENTRY_NP(swi_entry) DO_AST PULLFRAME movs pc, lr /* Exit */ + .fnend /* * prefetch_abort_entry: Modified: user/attilio/vmcontention/sys/arm/include/param.h ============================================================================== --- user/attilio/vmcontention/sys/arm/include/param.h Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/arm/include/param.h Mon Mar 11 10:49:02 2013 (r248152) @@ -56,7 +56,7 @@ #define MACHINE "arm" #endif #ifndef MACHINE_ARCH -#ifdef __FreeBSD_ARCH_armv6__ +#if defined(__FreeBSD_ARCH_armv6__) || (defined(__ARM_ARCH) && __ARM_ARCH >= 6) #ifdef __ARMEB__ #define MACHINE_ARCH "armv6eb" #else Modified: user/attilio/vmcontention/sys/boot/common/load_elf.c ============================================================================== --- user/attilio/vmcontention/sys/boot/common/load_elf.c Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/boot/common/load_elf.c Mon Mar 11 10:49:02 2013 (r248152) @@ -297,15 +297,16 @@ __elfN(loadimage)(struct preloaded_file * the MI code below uses the p_vaddr fields with an offset added for * loading (doing so is arguably wrong). To make loading work, we need * an offset that represents the difference between physical and virtual - * addressing. ARM kernels are always linked at 0xC0000000. Depending + * addressing. ARM kernels are always linked at 0xCnnnnnnn. Depending * on the headers, the offset value passed in may be physical or virtual * (because it typically comes from e_entry), but we always replace * whatever is passed in with the va<->pa offset. On the other hand, we - * only adjust the entry point if it's a virtual address to begin with. + * always remove the high-order part of the entry address whether it's + * physical or virtual, because it will be adjusted later for the actual + * physical entry point based on where the image gets loaded. */ - off = -0xc0000000u; - if ((ehdr->e_entry & 0xc0000000u) == 0xc0000000u) - ehdr->e_entry += off; + off = -0xc0000000; + ehdr->e_entry &= ~0xf0000000; #ifdef ELF_VERBOSE printf("ehdr->e_entry 0x%08x, va<->pa off %llx\n", ehdr->e_entry, off); #endif @@ -396,6 +397,8 @@ __elfN(loadimage)(struct preloaded_file "_loadimage: failed to read section headers"); goto nosyms; } + file_addmetadata(fp, MODINFOMD_SHDR, chunk, shdr); + symtabindex = -1; symstrindex = -1; for (i = 0; i < ehdr->e_shnum; i++) { Modified: user/attilio/vmcontention/sys/boot/fdt/fdt_loader_cmd.c ============================================================================== --- user/attilio/vmcontention/sys/boot/fdt/fdt_loader_cmd.c Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/boot/fdt/fdt_loader_cmd.c Mon Mar 11 10:49:02 2013 (r248152) @@ -118,16 +118,17 @@ static char cwd[FDT_CWD_LEN] = "/"; static vm_offset_t fdt_find_static_dtb() { - Elf_Dyn dyn; + Elf_Ehdr *ehdr; + Elf_Shdr *shdr; Elf_Sym sym; - vm_offset_t dyntab, esym, strtab, symtab, fdt_start; + vm_offset_t strtab, symtab, fdt_start; uint64_t offs; struct preloaded_file *kfp; struct file_metadata *md; char *strp; - int sym_count; + int i, sym_count; - symtab = strtab = dyntab = esym = 0; + symtab = strtab = 0; strp = NULL; offs = __elfN(relocation_offset); @@ -136,42 +137,26 @@ fdt_find_static_dtb() if (kfp == NULL) return (0); - md = file_findmetadata(kfp, MODINFOMD_ESYM); + /* Locate the dynamic symbols and strtab. */ + md = file_findmetadata(kfp, MODINFOMD_ELFHDR); if (md == NULL) return (0); - bcopy(md->md_data, &esym, sizeof(esym)); - /* esym is already offset */ + ehdr = (Elf_Ehdr *)md->md_data; - md = file_findmetadata(kfp, MODINFOMD_DYNAMIC); + md = file_findmetadata(kfp, MODINFOMD_SHDR); if (md == NULL) return (0); - bcopy(md->md_data, &dyntab, sizeof(dyntab)); - dyntab += offs; + shdr = (Elf_Shdr *)md->md_data; - /* Locate STRTAB and DYNTAB */ - for (;;) { - COPYOUT(dyntab, &dyn, sizeof(dyn)); - if (dyn.d_tag == DT_STRTAB) { - strtab = (vm_offset_t)(dyn.d_un.d_ptr) + offs; - } else if (dyn.d_tag == DT_SYMTAB) { - symtab = (vm_offset_t)(dyn.d_un.d_ptr) + offs; - } else if (dyn.d_tag == DT_NULL) { - break; + for (i = 0; i < ehdr->e_shnum; ++i) { + if (shdr[i].sh_type == SHT_DYNSYM && symtab == 0) { + symtab = shdr[i].sh_addr + offs; + sym_count = shdr[i].sh_size / sizeof(Elf_Sym); + } else if (shdr[i].sh_type == SHT_STRTAB && strtab == 0) { + strtab = shdr[i].sh_addr + offs; } - dyntab += sizeof(dyn); } - if (symtab == 0 || strtab == 0) { - /* - * No symtab? No strtab? That should not happen here, - * and should have been verified during __elfN(loadimage). - * This must be some kind of a bug. - */ - return (0); - } - - sym_count = (int)(esym - symtab) / sizeof(Elf_Sym); - /* * The most efficent way to find a symbol would be to calculate a * hash, find proper bucket and chain, and thus find a symbol. Modified: user/attilio/vmcontention/sys/conf/Makefile.arm ============================================================================== --- user/attilio/vmcontention/sys/conf/Makefile.arm Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/conf/Makefile.arm Mon Mar 11 10:49:02 2013 (r248152) @@ -39,12 +39,18 @@ SYSTEM_DEP:= ${SYSTEM_DEP:$S/conf/ldscri STRIP_FLAGS = -S .endif +.if ${COMPILER_TYPE} != "clang" CFLAGS += -mno-thumb-interwork +.endif .if empty(DDB_ENABLED) CFLAGS += -mno-apcs-frame .elif defined(WITH_ARM_EABI) CFLAGS += -funwind-tables +.if ${COMPILER_TYPE} == "clang" +# clang requires us to tell it to emit assembly with unwind information +CFLAGS += -mllvm -arm-enable-ehabi +.endif .endif SYSTEM_LD_ = ${LD} -Bdynamic -T ldscript.$M.noheader ${LDFLAGS} \ Modified: user/attilio/vmcontention/sys/conf/files.arm ============================================================================== --- user/attilio/vmcontention/sys/conf/files.arm Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/conf/files.arm Mon Mar 11 10:49:02 2013 (r248152) @@ -76,6 +76,7 @@ libkern/arm/divsi3.S standard libkern/arm/ffs.S standard libkern/arm/ldivmod.S standard libkern/arm/ldivmod_helper.c standard +libkern/arm/memcpy.S standard libkern/arm/muldi3.c standard libkern/ashldi3.c standard libkern/ashrdi3.c standard Modified: user/attilio/vmcontention/sys/conf/ldscript.arm ============================================================================== --- user/attilio/vmcontention/sys/conf/ldscript.arm Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/conf/ldscript.arm Mon Mar 11 10:49:02 2013 (r248152) @@ -56,6 +56,7 @@ SECTIONS .init : { *(.init) } =0x9090 .plt : { *(.plt) } + . = ALIGN(4); _extab_start = .; PROVIDE(extab_start = .); .ARM.extab : { *(.ARM.extab) } Modified: user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416reg.h ============================================================================== --- user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/dev/ath/ath_hal/ar5416/ar5416reg.h Mon Mar 11 10:49:02 2013 (r248152) @@ -521,6 +521,7 @@ #define AR_PCU_TBTT_PROTECT 0x00200000 /* no xmit upto tbtt+20 uS */ #define AR_PCU_CLEAR_VMF 0x01000000 /* clear vmf mode (fast cc)*/ #define AR_PCU_CLEAR_BA_VALID 0x04000000 /* clear ba state */ +#define AR_PCU_SEL_EVM 0x08000000 /* select EVM data or PLCP header */ #define AR_PCU_MISC_MODE2_MGMT_CRYPTO_ENABLE 0x00000002 #define AR_PCU_MISC_MODE2_NO_CRYPTO_FOR_NON_DATA_PKT 0x00000004 Modified: user/attilio/vmcontention/sys/dev/ath/if_ath_rx.c ============================================================================== --- user/attilio/vmcontention/sys/dev/ath/if_ath_rx.c Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/dev/ath/if_ath_rx.c Mon Mar 11 10:49:02 2013 (r248152) @@ -399,13 +399,31 @@ ath_rx_tap_vendor(struct ifnet *ifp, str sc->sc_rx_th.wr_v.evm[0] = rs->rs_evm0; sc->sc_rx_th.wr_v.evm[1] = rs->rs_evm1; sc->sc_rx_th.wr_v.evm[2] = rs->rs_evm2; - /* XXX TODO: extend this to include 3-stream EVM */ + /* These are only populated from the AR9300 or later */ + sc->sc_rx_th.wr_v.evm[3] = rs->rs_evm3; + sc->sc_rx_th.wr_v.evm[4] = rs->rs_evm4; + + /* direction */ + sc->sc_rx_th.wr_v.vh_flags = ATH_VENDOR_PKT_RX; + + /* RX rate */ + sc->sc_rx_th.wr_v.vh_rx_hwrate = rs->rs_rate; + + /* RX flags */ + sc->sc_rx_th.wr_v.vh_rs_flags = rs->rs_flags; + + if (rs->rs_isaggr) + sc->sc_rx_th.wr_v.vh_flags |= ATH_VENDOR_PKT_ISAGGR; + if (rs->rs_moreaggr) + sc->sc_rx_th.wr_v.vh_flags |= ATH_VENDOR_PKT_MOREAGGR; /* phyerr info */ - if (rs->rs_status & HAL_RXERR_PHY) + if (rs->rs_status & HAL_RXERR_PHY) { sc->sc_rx_th.wr_v.vh_phyerr_code = rs->rs_phyerr; - else + sc->sc_rx_th.wr_v.vh_flags |= ATH_VENDOR_PKT_RXPHYERR; + } else { sc->sc_rx_th.wr_v.vh_phyerr_code = 0xff; + } sc->sc_rx_th.wr_v.vh_rs_status = rs->rs_status; sc->sc_rx_th.wr_v.vh_rssi = rs->rs_rssi; } Modified: user/attilio/vmcontention/sys/dev/ath/if_athioctl.h ============================================================================== --- user/attilio/vmcontention/sys/dev/ath/if_athioctl.h Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/dev/ath/if_athioctl.h Mon Mar 11 10:49:02 2013 (r248152) @@ -273,6 +273,12 @@ struct ath_rateioctl { #define ATH_RADIOTAP_MAX_CHAINS 4 /* + * AR9380 and later chips are 3x3, which requires + * 5 EVM DWORDs in HT40 mode. + */ +#define ATH_RADIOTAP_MAX_EVM 5 + +/* * The vendor radiotap header data needs to be: * * + Aligned to a 4 byte address @@ -291,7 +297,7 @@ struct ath_radiotap_vendor_hdr { /* 30 uint8_t vh_rx_chainmask; /* 1 */ /* At this point it should be 4 byte aligned */ - uint32_t evm[ATH_RADIOTAP_MAX_CHAINS]; /* 4 * 4 = 16 */ + uint32_t evm[ATH_RADIOTAP_MAX_EVM]; /* 5 * 4 = 20 */ uint8_t rssi_ctl[ATH_RADIOTAP_MAX_CHAINS]; /* 4 */ uint8_t rssi_ext[ATH_RADIOTAP_MAX_CHAINS]; /* 4 */ @@ -299,7 +305,16 @@ struct ath_radiotap_vendor_hdr { /* 30 uint8_t vh_phyerr_code; /* Phy error code, or 0xff */ uint8_t vh_rs_status; /* RX status */ uint8_t vh_rssi; /* Raw RSSI */ - uint8_t vh_pad1[1]; /* Pad to 4 byte boundary */ + uint8_t vh_flags; /* General flags */ +#define ATH_VENDOR_PKT_RX 0x01 +#define ATH_VENDOR_PKT_TX 0x02 +#define ATH_VENDOR_PKT_RXPHYERR 0x04 +#define ATH_VENDOR_PKT_ISAGGR 0x08 +#define ATH_VENDOR_PKT_MOREAGGR 0x10 + + uint8_t vh_rx_hwrate; /* hardware RX ratecode */ + uint8_t vh_rs_flags; /* RX HAL flags */ + uint8_t vh_pad[2]; /* pad to DWORD boundary */ } __packed; #endif /* ATH_ENABLE_RADIOTAP_VENDOR_EXT */ Modified: user/attilio/vmcontention/sys/i386/i386/pmap.c ============================================================================== --- user/attilio/vmcontention/sys/i386/i386/pmap.c Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/i386/i386/pmap.c Mon Mar 11 10:49:02 2013 (r248152) @@ -393,7 +393,6 @@ pmap_bootstrap(vm_paddr_t firstaddr) #ifdef PAE kernel_pmap->pm_pdpt = (pdpt_entry_t *) (KERNBASE + (u_int)IdlePDPT); #endif - kernel_pmap->pm_root = NULL; CPU_FILL(&kernel_pmap->pm_active); /* don't allow deactivation */ TAILQ_INIT(&kernel_pmap->pm_pvchunk); Modified: user/attilio/vmcontention/sys/kern/kern_timeout.c ============================================================================== --- user/attilio/vmcontention/sys/kern/kern_timeout.c Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/kern/kern_timeout.c Mon Mar 11 10:49:02 2013 (r248152) @@ -258,6 +258,8 @@ callout_callwheel_init(void *dummy) /* * Calculate the size of the callout wheel and the preallocated * timeout() structures. + * XXX: Clip callout to result of previous function of maxusers + * maximum 384. This is still huge, but acceptable. */ ncallout = imin(16 + maxproc + maxfiles, 18508); TUNABLE_INT_FETCH("kern.ncallout", &ncallout); @@ -294,7 +296,7 @@ callout_cpu_init(struct callout_cpu *cc) mtx_init(&cc->cc_lock, "callout", NULL, MTX_SPIN | MTX_RECURSE); SLIST_INIT(&cc->cc_callfree); - cc->cc_callwheel = malloc(sizeof(struct callout_tailq) * callwheelsize, + cc->cc_callwheel = malloc(sizeof(struct callout_list) * callwheelsize, M_CALLOUT, M_WAITOK); for (i = 0; i < callwheelsize; i++) LIST_INIT(&cc->cc_callwheel[i]); Copied: user/attilio/vmcontention/sys/libkern/arm/memcpy.S (from r248150, head/sys/libkern/arm/memcpy.S) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ user/attilio/vmcontention/sys/libkern/arm/memcpy.S Mon Mar 11 10:49:02 2013 (r248152, copy of r248150, head/sys/libkern/arm/memcpy.S) @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2012 Andrew Turner + * 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. + * + */ + +#include <machine/asm.h> +__FBSDID("$FreeBSD$"); + +#ifdef __ARM_EABI__ + +ENTRY_NP(__aeabi_memcpy) + b memcpy + +#endif + Modified: user/attilio/vmcontention/sys/net80211/ieee80211_superg.c ============================================================================== --- user/attilio/vmcontention/sys/net80211/ieee80211_superg.c Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/net80211/ieee80211_superg.c Mon Mar 11 10:49:02 2013 (r248152) @@ -534,8 +534,6 @@ ff_flush(struct mbuf *head, struct mbuf struct ieee80211_node *ni; struct ieee80211vap *vap; - IEEE80211_TX_LOCK_ASSERT(vap->iv_ic); - for (m = head; m != last; m = next) { next = m->m_nextpkt; m->m_nextpkt = NULL; Modified: user/attilio/vmcontention/sys/vm/vm_page.c ============================================================================== --- user/attilio/vmcontention/sys/vm/vm_page.c Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/sys/vm/vm_page.c Mon Mar 11 10:49:02 2013 (r248152) @@ -73,7 +73,7 @@ * * The page daemon can acquire and hold any pair of page queue * locks in any order. * - * - The object mutex is held when inserting or removing + * - The object lock is required when inserting or removing * pages from an object (vm_page_insert() or vm_page_remove()). * */ Modified: user/attilio/vmcontention/usr.bin/netstat/netstat.1 ============================================================================== --- user/attilio/vmcontention/usr.bin/netstat/netstat.1 Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/usr.bin/netstat/netstat.1 Mon Mar 11 10:49:02 2013 (r248152) @@ -28,7 +28,7 @@ .\" @(#)netstat.1 8.8 (Berkeley) 4/18/94 .\" $FreeBSD$ .\" -.Dd February 22, 2010 +.Dd March 10, 2013 .Dt NETSTAT 1 .Os .Sh NAME @@ -301,6 +301,12 @@ is repeated, counters with a value of ze Show .Xr netisr 9 statistics. +The flags field shows available ISR handlers: +.Bl -column ".Li W" ".Dv NETISR_SNP_FLAGS_DRAINEDCPU" +.It Li C Ta Dv NETISR_SNP_FLAGS_M2CPUID Ta "Able to map mbuf to cpu id" +.It Li D Ta Dv NETISR_SNP_FLAGS_DRAINEDCPU Ta "Has queue drain handler" +.It Li F Ta Dv NETISR_SNP_FLAGS_M2FLOW Ta "Able to map mbuf to flow id" +.El .El .Pp Some options have the general meaning: Modified: user/attilio/vmcontention/usr.sbin/pkg/Makefile ============================================================================== --- user/attilio/vmcontention/usr.sbin/pkg/Makefile Mon Mar 11 10:48:26 2013 (r248151) +++ user/attilio/vmcontention/usr.sbin/pkg/Makefile Mon Mar 11 10:49:02 2013 (r248152) @@ -4,7 +4,7 @@ PROG= pkg SRCS= pkg.c dns_utils.c config.c NO_MAN= yes -DPADD= ${LIBARCHIVE} ${LIBELF} ${LIBFETCH} ${LIBBSDYML} ${LIBSUBF} +DPADD= ${LIBARCHIVE} ${LIBELF} ${LIBFETCH} ${LIBBSDYML} ${LIBSBUF} LDADD= -larchive -lelf -lfetch -lbsdyml -lsbuf .include <bsd.prog.mk>
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303111049.r2BAn2SM096622>