aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge head from 7/28Simon J. Gerraty2014-08-196494-188529/+267334
|\ | | | | | | Notes: svn path=/projects/bmake/; revision=270164
| * Export some new busdma stats via sysctl for armv6. Added:Ian Lepore2014-07-291-3/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | hw.busdma.tags_total: 46 hw.busdma.maps_total: 1302 hw.busdma.maps_dmamem: 851 hw.busdma.maps_coherent: 849 hw.busdma.maploads_total: 1568812 hw.busdma.maploads_bounced: 16750 hw.busdma.maploads_coherent: 920 hw.busdma.maploads_dmamem: 920 hw.busdma.maploads_mbuf: 1542766 hw.busdma.maploads_physmem: 0 Notes: svn path=/head/; revision=269217
| * A while back, the array of segments used for a load/mapping operation wasIan Lepore2014-07-291-68/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | moved from the stack into the tag structure. In retrospect that was a bad idea, because nothing protects that array from concurrent access by multiple threads. This change moves the array to the map structure (actually it's allocated following the structure, but all in a single malloc() call). This also establishes a "sane" limit of 4096 segments per map. This is mostly to prevent trying to allocate all of memory if someone accidentally uses a tag with nsegments set to BUS_SPACE_UNRESTRICTED. If there's ever a genuine need for more than 4096, don't hesitate to increase this (or maybe make it tunable). Reviewed by: cognet Notes: svn path=/head/; revision=269216
| * We never need bounce pages for memory we allocate. We cleverly allocateIan Lepore2014-07-291-8/+0
| | | | | | | | | | | | | | | | | | | | memory the matches all the constraints of the dma tag so that bouncing will never be required. Reviewed by: cognet Notes: svn path=/head/; revision=269215
| * Replace a bunch of double-indirection with a local pointer var (that is,Ian Lepore2014-07-291-18/+19
| | | | | | | | | | | | | | | | | | (*mapp)->something becomes map->something). No functional changes. Reviewed by: cognet Notes: svn path=/head/; revision=269214
| * Don't clear the DMAMAP_DMAMEM_ALLOC flag set a few lines earlier. Doh!Ian Lepore2014-07-291-1/+0
| | | | | | | | | | | | | | Reviewed by: cognet Notes: svn path=/head/; revision=269213
| * Memory belonging to an mbuf, or allocated by bus_dmamem_alloc(), neverIan Lepore2014-07-291-6/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | triggers a need to bounce due to cacheline alignment. These buffers are always aligned to cacheline boundaries, and even when the DMA operation starts at an offset within the buffer or doesn't extend to the end of the buffer, it's safe to flush the complete cachelines that were only partially involved in the DMA. This is because there's a very strict rule on these types of buffers that there will not be concurrent access by the CPU and one or more DMA transfers within the buffer. Reviewed by: cognet Notes: svn path=/head/; revision=269212
| * The run_filter() function doesn't just run dma tag exclusion filterIan Lepore2014-07-291-46/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | functions, it has evolved to make a variety of decisions about whether the DMA needs to bounce, so rename it to must_bounce(). Rewrite it to perform checks outside of the ancestor loop if they're based on information that's wholly contained within the original tag. Now the loop only checks exclusion zones in ancestor tags. Also, add a new function, might_bounce() which does a fast inline check of flags within the tag and map to quickly eliminate the need to call the more expensive must_bounce() for each page in the DMA operation. Within the mapping loops, use map->pagesneeded != 0 as a proxy for all the various checks on whether bouncing might be required. If no pages were reserved for bouncing during the checks before the mapping loop, then there's no need to re-check any of the conditions that can lead to bouncing -- all those checks already decided there would be no bouncing. Reviewed by: cognet Notes: svn path=/head/; revision=269211
| * Propagate any alignment restriction from the parent tag to a new tag,Ian Lepore2014-07-291-0/+1
| | | | | | | | | | | | | | | | | | keeping the more restrictive of the two values. Reviewed by: cognet Notes: svn path=/head/; revision=269210
| * Reformat some continuation lines. No functional changes.Ian Lepore2014-07-291-30/+25
| | | | | | | | | | | | | | Reviewed by: cognet Notes: svn path=/head/; revision=269209
| * Correct the comparison logic when looking for intersections betweenIan Lepore2014-07-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | exclusion zones and phsyical memory. The phys_avail[i] entries are the address of the first byte of ram in the region, and phys_avail[i+1] entries are the address of the first byte of ram in the next region (i.e., they're not included in the region that starts at phys_avail[i]). Reviewed by: cognet Notes: svn path=/head/; revision=269208
| * The exclusion_bounce() routine compares unchanging values in the tag withIan Lepore2014-07-291-11/+22
| | | | | | | | | | | | | | | | | | | | unchanging values in the phys_avail array, so do the comparisons just once at tag creation time and set a flag to remember the result. Reviewed by: cognet Notes: svn path=/head/; revision=269207
| * Rename _bus_dma_can_bounce(), add new inline routines.Ian Lepore2014-07-291-9/+28
| | | | | | | | | | | | | | | | | | | | | | | | DMA on arm can bounce for several reasons, and _bus_dma_can_bounce() only checks for the lowaddr/highaddr exclusion ranges in the dma tag, so now it's named exclusion_bounce(). The other reasons for bouncing are checked by the new functions alignment_bounce() and cacheline_bounce(). Reviewed by: cognet Notes: svn path=/head/; revision=269206
| * Simplify the expression, by removing redundand calculation.Konstantin Belousov2014-07-291-1/+1
| | | | | | | | | | | | | | | | Noted by: "O'Connor, Daniel" <Daniel.O'Connor@emc.com> MFC after: 3 days Notes: svn path=/head/; revision=269205
| * If telldir() is called immediately after a call to seekdir(), POSIXJohn Baldwin2014-07-292-28/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | requires the return value of telldir() to equal the value passed to seekdir(). The current seekdir code with SINGLEUSE enabled breaks this case as each call to telldir() allocates a new cookie. Instead, remove the SINGLEUSE code and change telldir() to look for an existing cookie for the directory's current location rather than always creating a new cookie. CR: https://phabric.freebsd.org/D490 PR: 121656 Reviewed by: jilles MFC after: 1 week Notes: svn path=/head/; revision=269204
| * We do not ever want _srcconf_included_ as MAIN target.Simon J. Gerraty2014-07-281-1/+1
| | | | | | | | Notes: svn path=/head/; revision=269203
| * Add new README to the driver...Jack F Vogel2014-07-281-0/+342
| | | | | | | | Notes: svn path=/head/; revision=269201
| * Update the new 40G XL710 driver to Release version 1.0.0Jack F Vogel2014-07-2817-2550/+3565
| | | | | | | | Notes: svn path=/head/; revision=269198
| * Fix potential double free that could happen after connection error.Edward Tomasz Napierala2014-07-281-1/+4
| | | | | | | | | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=269197
| * Revise font initialization handling.Aleksandr Rybalko2014-07-281-6/+15
| | | | | | | | | | | | | | | | MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=269194
| * Update comments.Aleksandr Rybalko2014-07-281-0/+7
| | | | | | | | | | | | | | | | MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=269193
| * Remove special handling of console window size. It's done in vt_upgrade() forAleksandr Rybalko2014-07-281-6/+0
| | | | | | | | | | | | | | | | | | | | all windows. MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=269192
| * Fix r269183 build woth GCC.Alexander Motin2014-07-281-5/+10
| | | | | | | | | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=269191
| * For md(4), posix shm(3) and tmpfs(5), free swap space used by paged inKonstantin Belousov2014-07-282-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | dirty page, which is written by the process. Reviewed by: alc Tested by: pho Sponsored by: The FreeBSD Foundation MFC after: 1 week Notes: svn path=/head/; revision=269190
| * Initialize zfs vnode v_hash when the vnode is allocated, instead ofKonstantin Belousov2014-07-282-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | postponing it to zfs_vget(). zfs_root() returned vnode with the default value of v_hash, which caused inconsistent v_hash value when root vnode was obtained from zfs_vget(). Nullfs allocated two upper vnodes for the root zfs vnode due to different hashes, causing consistency problems. Reported and tested by: Harald Schmalzbauer <h.schmalzbauer@omnilan.de> Sponsored by: The FreeBSD Foundation MFC after: 1 week Notes: svn path=/head/; revision=269189
| * Avoid embedding buffers into static virtual terminal window.Aleksandr Rybalko2014-07-281-2/+2
| | | | | | | | | | | | | | | | MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=269188
| * Assert that nullfs vnode has VV_ROOT set whenever lower vnode has.Konstantin Belousov2014-07-281-0/+4
| | | | | | | | | | | | | | | | | | | | Assert that dotdot lookup on the root vnode is not performed. Sponsored by: The FreeBSD Foundation MFC after: 1 week Notes: svn path=/head/; revision=269187
| * o Remove useless debug string.Aleksandr Rybalko2014-07-281-3/+2
| | | | | | | | | | | | | | | | | | | | o Fix indent. MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=269186
| * Remove unused macro VT_CONSDEV_DECLARE. Join console device now declared in oneAleksandr Rybalko2014-07-281-48/+0
| | | | | | | | | | | | | | | | | | | | place. MFC after: 1 week Sponsored by: The FreeBSD Foundation Notes: svn path=/head/; revision=269185
| * Add missing newline to output dmesg properly.Shunsuke Akiyama2014-07-281-2/+2
| | | | | | | | Notes: svn path=/head/; revision=269184
| * Add netmasks support to initiator-portal option.Alexander Motin2014-07-284-17/+92
| | | | | | | | | | | | | | MFC after: 2 weeks Notes: svn path=/head/; revision=269183
| * Update the list of cross references to include the more modern set ofGeorge V. Neville-Neil2014-07-281-1/+13
| | | | | | | | | | | | | | processors that we now support. Notes: svn path=/head/; revision=269182
| * libsbuf.so.6 is no longer obsoleteAntoine Brodin2014-07-281-2/+0
| | | | | | | | Notes: svn path=/head/; revision=269181
| * When interval is set to very small value with limited amount of packets,Xin LI2014-07-281-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | ping6(8) would quit before the remote side gets a chance to respond. Solve this by resetting the itimer when we have reached the maximum packet number have reached, but let the other handling to continue. PR: bin/151023 Submitted by: tjmao at tjmao.net MFC after: 2 weeks Notes: svn path=/head/; revision=269180
| * Unbreak the ABI by reverting r268494 until the compat shims are providedPietro Cerutti2014-07-283-23/+11
| | | | | | | | Notes: svn path=/head/; revision=269179
| * Add the rest of combined interrupt groups.Ruslan Bukin2014-07-281-5/+112
| | | | | | | | Notes: svn path=/head/; revision=269178
| * Remove ohash_int.h forgotten in previous commitBaptiste Daroussin2014-07-271-25/+0
| | | | | | | | Notes: svn path=/head/; revision=269163
| * Sync with OpenBSDBaptiste Daroussin2014-07-2723-625/+540
| | | | | | | | | | | | | | | | | | | | | | This brings: - check for integer overflows in custom allocs - fix potential integer overflows in memory allocation - annotate regexp error messages with source string - better error handling in mkstemp/unlink/fdopen logic Notes: svn path=/head/; revision=269162
| * Explicitely mention that inactivated or reclaimed vnode is lockedKonstantin Belousov2014-07-271-1/+2
| | | | | | | | | | | | | | | | | | | | exclusively. Sponsored by: The FreeBSD Foundation MFC after: 3 days Notes: svn path=/head/; revision=269161
| * Remove man page for non-existent VOPs.Konstantin Belousov2014-07-272-116/+0
| | | | | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation MFC after: 3 days Notes: svn path=/head/; revision=269160
| * Correct the locking statement.Konstantin Belousov2014-07-271-11/+7
| | | | | | | | | | | | | | | | Sponsored by: The FreeBSD Foundation MFC after: 3 days Notes: svn path=/head/; revision=269159
| * Update from mav@ - don't break the input switching.Adrian Chadd2014-07-271-6/+0
| | | | | | | | Notes: svn path=/head/; revision=269158
| * Forced commit - testing commit mail etc pipelines.Peter Wemm2014-07-271-1/+1
| | | | | | | | Notes: svn path=/head/; revision=269155
| * 1. Suppress output for the TFTP-based PXE loader, but leave it inMarcel Moolenaar2014-07-271-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | place for the NFS-based PXE loader. Information like rootpath or rootip aren't that useful for TFTP and the gateway IP is typically already printed by the firmware. 2. Only set boot.nfsroot.* environment variables for NFS. This makes it possible for the OS to work either way by checking for the presence or absence of environment variables. 3. Set boot.netif.server when using TFTP so that the OS can fetch files as well. A typical use case for this is network-based installations with the installation process implemented on top of FreeBSD. 4. The pxelinux loader has a set of alternative names it tries for configuration files. Make it easier to do something similar in Forth by providing the IP address as a 32-bit hex number in the pxeboot.ip variable and the MAC address with dashes in the pxeboot.hwaddr environment variable. Obtained from: Juniper Networks, Inc. Notes: svn path=/head/; revision=269154
| * Give loaders more control over the Forth initialization process. InMarcel Moolenaar2014-07-2714-23/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | particular, allow loaders to define the name of the RC script the interpreter needs to use. Use this new-found control to have the PXE loader (when compiled with TFTP support and not NFS support) read from ${bootfile}.4th, where ${bootfile} is the name of the file fetched by the PXE firmware. The normal startup process involves reading the following files: 1. /boot/boot.4th 2. /boot/loader.rc or alternatively /boot/boot.conf When these come from a FreeBSD-defined file system, this is all good. But when we boot over the network, subdirectories and fixed file names are often painful to administrators and there's really no way for them to change the behaviour of the loader. Obtained from: Juniper Networks, Inc. Notes: svn path=/head/; revision=269153
| * Add support for my Lenovo T400.Adrian Chadd2014-07-272-0/+17
| | | | | | | | | | | | | | | | | | Tested: * Lenovo T400, model w/ P8700 Intel CPU on-board Notes: svn path=/head/; revision=269152
| * Fix several cases of NULL dereference when INQUIRY sent to absent LUN.Alexander Motin2014-07-271-10/+12
| | | | | | | | | | | | | | MFC after: 3 days Notes: svn path=/head/; revision=269149
| * Commit some sins in the name of "oh god oh god I don't really want toAdrian Chadd2014-07-271-60/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | be able to claim I know how the UART code works." * Just return 115200 as the current baud rate. I should cache it in the device struct and return that but I'm lazy right now. * don't error out on other ioctl settings for now, just silently ignore them. * remove some code that was copied from the 8250 driver that isn't needed any longer. Tested: * AR9331, Carambola-2 board. Notes: svn path=/head/; revision=269148
| * Add another revision of the AR8327.Adrian Chadd2014-07-261-0/+1
| | | | | | | | Notes: svn path=/head/; revision=269147
| * store the AR9300 interrupts away when doing interrupt debugging.Adrian Chadd2014-07-261-0/+15
| | | | | | | | Notes: svn path=/head/; revision=269146