Kevin Lo
8636496407
Add __iowrite32_copy() to the Linux kernel compatibility layer.
...
Reviewed by: hselasky
2016-05-24 09:23:04 +00:00
Hans Petter Selasky
3ce1263063
Set "current" for all PCI enumeration callbacks.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-24 07:46:20 +00:00
Hans Petter Selasky
5a6748b2cf
Use make_dev_s() instead of make_dev() to avoid race setting
...
"si_drv1". Convert panic() into regular error while at it.
Suggested by: jhb @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-24 07:06:04 +00:00
Hans Petter Selasky
44701cf732
Implement "atomic_long_add_unless()" in the LinuxKPI and fix the
...
implementation of "atomic_long_inc_not_zero()".
Found by: ngie @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 16:19:51 +00:00
Hans Petter Selasky
8b68f2509f
A missing definition needed by ktime_to_ms().
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 13:19:20 +00:00
Hans Petter Selasky
425da8eb61
Fix some data types and add "inline" keyword for __reg_op() function.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 13:18:15 +00:00
Hans Petter Selasky
83cfd83419
Implement ror32() in the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 12:53:17 +00:00
Hans Petter Selasky
fb2faed84e
Define more copy to/from userspace functions in the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 12:52:22 +00:00
Hans Petter Selasky
aef2a67b83
Add more printf() related functions to the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 12:35:07 +00:00
Hans Petter Selasky
7dfa8b2c4e
Add more ktime related functions to the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 12:10:28 +00:00
Hans Petter Selasky
08a5e6ec7f
Implement "kref_put_mutex()" for the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 12:06:34 +00:00
Hans Petter Selasky
aad02fb444
Add more list_xxx() functions to the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 12:03:40 +00:00
Hans Petter Selasky
0f8f7f554b
Make header file standalone by including definitions for needed
...
linux_wait_xxx() functions.
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 11:57:23 +00:00
Hans Petter Selasky
94a201be43
Implement "_outb()" to the LinuxKPI for i386 and amd64 only.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 11:53:00 +00:00
Hans Petter Selasky
ed5f781270
Add support for "cdev_add_ext()" to the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 11:50:05 +00:00
Hans Petter Selasky
299f29203a
Add more GFP related defines to the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 11:47:54 +00:00
Hans Petter Selasky
4a0f827906
Add support for atomic_long_inc_not_zero() to the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 11:44:46 +00:00
Hans Petter Selasky
b5c541821a
Add support for atomic_long_inc_not_zero() to the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-23 11:41:35 +00:00
Hans Petter Selasky
0f9f74597d
Only lock Giant when needed in the LinuxKPI.
...
Suggested by: ngie @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-16 17:41:25 +00:00
Hans Petter Selasky
b334cdea9b
Implement more Linux device related functions in the LinuxKPI. While
...
at it use NULL for some pointer checks.
Bump the FreeBSD version to force recompilation of all kernel modules
due to a structure size change.
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-16 09:56:48 +00:00
Hans Petter Selasky
88fa0d734c
Don't dereference parent pointer when it is NULL.
...
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-16 09:25:56 +00:00
Hans Petter Selasky
03219fba43
Properly implement "cpu_has_clflush" macro.
...
Suggested by: kib, jhb
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-16 09:16:15 +00:00
Hans Petter Selasky
fdddd267d7
Handle case of class being set, but not parent when calling
...
device_register() in the LinuxKPI.
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-13 13:01:02 +00:00
Hans Petter Selasky
83d5d45ea2
Add more PAGE related defines to the LinuxKPI. Move the definition of
...
"pgprot_t" to "linux/page.h" similar to what Linux does.
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-13 12:41:21 +00:00
Hans Petter Selasky
854e1d4e6c
Implement "old_encode_dev()" for the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-13 11:51:43 +00:00
Hans Petter Selasky
374377ce91
Define _IOC_SIZE() in the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-13 11:42:36 +00:00
Hans Petter Selasky
677a229c76
Add unlikely() statement to optimise the IS_ERR_VALUE() macro.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-13 11:30:56 +00:00
Hans Petter Selasky
e320ac1958
Implement nsecs_to_jiffies() in the LinuxKPI and while at it
...
streamline the rest of the xxx_to_jiffies() functions to have a
constant 64-bit argument and use identical range checks for the
result.
Specifically preserve msecs_to_jiffies(0) returning 0. See r282743 for
further details.
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-13 11:02:02 +00:00
Hans Petter Selasky
abb14a540f
Add more Linux defines. Improve some existing ones.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-13 10:10:43 +00:00
Hans Petter Selasky
04a471587e
The Linux error defines should all be positive, else frequently used
...
error code checks might fail. ERESTART is in the BSD world defined as
-1. While at it add more Linux error codes.
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-13 09:21:22 +00:00
Hans Petter Selasky
3a8bec33ef
Fix handling of IOCTLs in the LinuxKPI.
...
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
2016-05-12 11:38:28 +00:00
Hans Petter Selasky
15c98ff2f1
Remove redundant "task_struct_set()".
...
This is done by the "linux_kthread_fn()".
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-12 09:11:18 +00:00
Hans Petter Selasky
464d20bcc8
Create a dummy "task_struct" on the stack which is returned by
...
"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
2016-05-12 09:06:54 +00:00
Hans Petter Selasky
fd42d62378
Add more IDR and IDA related functions to the LinuxKPI.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-11 10:40:04 +00:00
Hans Petter Selasky
8457719578
Add more atomic LinuxKPI functions.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-11 07:58:43 +00:00
Hans Petter Selasky
f2dbb750f4
Implement ioremap_wt() and use that in the MEMREMAP_WT case for i386
...
and amd64.
Suggested by: cem @
Discussed with: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-10 17:51:17 +00:00
Hans Petter Selasky
684a5fef01
Add more LinuxKPI I/O functions.
...
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-10 12:04:57 +00:00
Hans Petter Selasky
7652bc32f7
Use function macros when possible to avoid stray substitutions.
...
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-10 11:39:36 +00:00
Hans Petter Selasky
f2f5b1337e
Add missing semicolon and properly wrap macro argument.
...
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-10 11:34:22 +00:00
Hans Petter Selasky
c7d81c66df
Allow the argument for the cpu_to_xxxp() and xxx_to_cpup() macros to
...
point to a constant.
Obtained from: kmacy @
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-05-10 11:31:00 +00:00
Pedro F. Giffuni
1ce4275dd2
sys/compat/linux*: spelling fixes.
...
Mostly on comments but there are some user-visible messages as well.
MFC after: 2 weeks
2016-04-30 00:53:10 +00:00
Sepherosa Ziehau
1ea448225c
tcp/lro: Change SLIST to LIST, so that removing an entry is O(1)
...
This is kinda critical to the performance when the CPU is slow and
network bandwidth is high, e.g. in the hypervisor.
Reviewed by: rrs, gallatin, Dexuan Cui <decui microsoft com>
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D5765
2016-04-01 06:43:05 +00:00
Navdeep Parhar
b03384114d
Add wait_event_interruptible_timeout to linuxkpi.
...
Submitted by: Krishnamraju Eraparaju @ Chelsio
Reviewed by: hselasky@
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D5776
2016-03-31 17:11:58 +00:00
Hans Petter Selasky
9ad5ce9d01
Fix bugs in currently unused bit searching loop.
...
MFC after: 3 days
Sponsored by: Mellanox Technologies
2016-03-31 06:19:15 +00:00
Hans Petter Selasky
510ebed7be
Add more functions to the LinuxKPI.
...
Define strnicmp as a function macro instead of a regular macro while
at it.
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-03-03 09:56:04 +00:00
Svatopluk Kraus
a1e1814d76
As <machine/pmap.h> is included from <vm/pmap.h>, there is no need to
...
include it explicitly when <vm/pmap.h> is already included.
Reviewed by: alc, kib
Differential Revision: https://reviews.freebsd.org/D5373
2016-02-22 09:02:20 +00:00
Hans Petter Selasky
fe68f570d4
Update and add various macros to the LinuxKPI and resolve a macro
...
redefinition issue in the cxgb driver.
MFC after: 1 week
Sponsored by: Mellanox Technologies
Reviewed by: np @
2016-01-26 15:26:35 +00:00
Hans Petter Selasky
c7c96d1093
LinuxKPI list updates:
...
- Add some new hlist macros.
- Update existing hlist macros removing the need for a temporary
iteration variable.
- Properly define the RCU hlist macros to be SMP safe with regard
to RCU.
- Safe list macro arguments by adding a pair of parentheses.
- Prefix the _list_add() and _list_splice() functions with "linux"
to reflect they are LinuxKPI internal functions.
Obtained from: Linux
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-01-26 15:12:31 +00:00
Hans Petter Selasky
e6ef991e5e
Implement ether_addr_equal(), ether_addr_equal_64bits() and
...
random_ether_addr() for the LinuxKPI.
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-01-26 14:36:16 +00:00
Hans Petter Selasky
f15ffb5e63
Implement is_vlan_dev() and vlan_dev_vlan_id() for the LinuxKPI.
...
MFC after: 1 week
Sponsored by: Mellanox Technologies
2016-01-26 14:33:20 +00:00