| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Drop Giant before sleeping in linux_wait_for_{timeout_,}common().
|
|
|
|
|
|
|
| |
Implement register and unregister chrdev in the LinuxKPI.
Obtained from: kmacy @
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
| |
Prefix some _pci_xxx() functions in the Linux KPI with linux_ and make
sure the IRQ number used by these functions is unsigned.
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
| |
MSIX can support more than 256 IRQs. Make sure the invalid IRQ number
set in the LinuxKPI is big enough.
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
| |
Submitted by: Matt Joras <mjoras@isilon.com>
Approved by: re (gjb)
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
|
|
|
|
|
|
|
|
| |
Remove superfluous unlikely() wrapper.
Suggested by: glebius
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bool module parameters are no longer supported, because there is no
equivalent in FreeBSD.
There are two macros available which control the behaviour of the
LinuxKPI module parameters:
- LINUXKPI_PARAM_PARENT allows the consumer to set the SYSCTL parent
where the modules parameters will be created.
- LINUXKPI_PARAM_PREFIX defines a parameter name prefix, which is
added to all created module parameters.
Sponsored by: Mellanox Technologies
MFC after: 1 week
|
|
|
|
|
|
|
|
|
| |
run after a panic(). This for example allows a LinuxKPI based graphics
stack to receive prints during a panic.
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
| |
assumptions about how the Giant mutex is locked.
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
| |
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
| |
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
| |
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
| |
Suggested by: kib, jhb
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linux requires that all IOCTL data resides in userspace. FreeBSD
always moves the main IOCTL structure into a kernel buffer before
invoking the IOCTL handler and then copies it back into userspace,
before returning. Hide this difference in the "linux_copyin()" and
"linux_copyout()" functions by remapping userspace addresses in the
range from 0x10000 to 0x20000, to the kernel IOCTL data buffer.
It is assumed that the userspace code, data and stack segments starts
no lower than memory address 0x400000, which is also stated by "man 1
ld", which means any valid userspace pointer can be passed to regular
LinuxKPI handled IOCTLs.
Bump the FreeBSD version to force recompilation of all kernel modules.
Discussed with: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
|
|
| |
"current" inside all LinuxKPI file operation callbacks. The "current"
is frequently used for various debug prints, printing the thread name
and thread ID for example.
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
| |
responsible the IDR tree stays unmodified while iterating.
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
| |
having the wrong number of entries is detected.
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
| |
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
| |
bitmap test for free entry in "idr_replace()".
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
| |
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
| |
Ensure the actual poll result is returned by the "linux_file_poll()"
function instead of zero which means no data is available.
MFC after: 3 days
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
| |
Mostly on comments but there are some user-visible messages as well.
MFC after: 2 weeks
|
|
|
|
|
|
|
| |
Submitted by: Krishnamraju Eraparaju @ Chelsio
Reviewed by: hselasky@
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D5776
|
|
|
|
|
| |
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
| |
include it explicitly when <vm/pmap.h> is already included.
Reviewed by: alc, kib
Differential Revision: https://reviews.freebsd.org/D5373
|
|
|
|
|
|
|
|
| |
idr_alloc_cyclic() in the LinuxKPI. Bump the FreeBSD version to
force recompilation of all KLDs due to IDR structure size change.
MFC after: 2 weeks
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If a driver's Linux mmap callback passed vm_page_prot through unchanged,
then linux_dev_mmap_single() would try to apply whatever VM_MEMATTR_xxx
value 0 is to the mapping. On x86, VM_MEMATTR_DEFAULT is the PAT value
for write-back (WB) which is 6, while 0 maps to the PAT value for
uncacheable (UC). Thus, any mmap request that did not explicitly set
page_prot was tried to map memory as UC triggering the warning in
sg_pager_getpages().
Tested by: np
Reported by: Krishnamraju Eraparaju @ Chelsio
MFC after: 3 days
Sponsored by: Chelsio Communications
|
|
|
|
|
|
|
|
| |
LinuxKPI. Fix a few spaces to tabs. Bump the FreeBSD version to force
recompilation of existing KMODs.
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
|
|
|
| |
- Properly prefix internal functions with "linux_" instead of only a
single underscore to avoid future namespace collisions.
- Make some functions global instead of inline to ease debugging and
to avoid unnecessary code duplication.
- Remove no longer existing kthread_create() function's prototype.
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
| |
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Declare some static functions in linux_compat.c instead if inside
various header files.
- Prefix FreeBSD local functions in the LinuxKPI with "linux_" to
avoid symbol name conflicts in the future and to make debugging
easier.
- Make the "struct kobj_ktype" declaractions constant to shave off a
few bytes from the data segment.
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
| |
parent kobject cannot be factored out and must be done by the kobject
consumers.
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
|
| |
LinuxKPI. Compute string length before allocating memory instead of
using fixed size allocations. Make kobject_set_name_vargs() global
instead of inline to save some bytes when compiling.
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
| |
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
| |
- Make some functions global instead of inline to ease debugging.
- Fix some minor style issues.
MFC after: 1 week
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
| |
LinuxKPI for the future.
Sponsored by: Mellanox Technologies
|
|
|
|
|
|
|
|
|
|
| |
- Add some missing I/O functions for non-i386 and amd64 platforms.
- Stub ioremap() to NULL using a macro to ensure non-existing memory
attributes are not referred when they do not exist.
- Add more header files to linux/list.h to resolve driver compilation
issues on Sparc64 and PowerPC platforms.
Sponsored by: Mellanox Technologies
|
|
- Move all files related to the LinuxKPI into sys/compat/linuxkpi and
its subfolders.
- Update sys/conf/files and some Makefiles to use new file locations.
- Added description of COMPAT_LINUXKPI to sys/conf/NOTES which in turn
adds the LinuxKPI to all LINT builds.
- The LinuxKPI can be added to the kernel by setting the
COMPAT_LINUXKPI option. The OFED kernel option no longer builds the
LinuxKPI into the kernel. This was done to keep the build rules for
the LinuxKPI in sys/conf/files simple.
- Extend the LinuxKPI module to include support for USB by moving the
Linux USB compat from usb.ko to linuxkpi.ko.
- Bump the FreeBSD_version.
- A universe kernel build has been done.
Reviewed by: np @ (cxgb and cxgbe related changes only)
Sponsored by: Mellanox Technologies
|