|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | - | - |
| README.illumos | H A D | 16-Jan-2026 | 2.1 KiB | 52 | 36 |
| THIRDPARTYLICENSE | H A D | 16-Apr-2016 | 1 KiB | 27 | 19 |
| THIRDPARTYLICENSE.descrip | H A D | 16-Apr-2016 | 13 | 2 | 1 |
| ixgbe_82598.c | H A D | 16-Jan-2026 | 40.9 KiB | 1,442 | 870 |
| ixgbe_82598.h | H A D | 16-Jan-2026 | 2.7 KiB | 55 | 19 |
| ixgbe_82599.c | H A D | 16-Jan-2026 | 78.4 KiB | 2,665 | 1,607 |
| ixgbe_82599.h | H A D | 16-Jan-2026 | 3.3 KiB | 66 | 30 |
| ixgbe_api.c | H A D | 16-Jan-2026 | 52.4 KiB | 1,813 | 793 |
| ixgbe_api.h | H A D | 16-Jan-2026 | 11.2 KiB | 233 | 187 |
| ixgbe_common.c | H A D | 16-Jan-2026 | 160.5 KiB | 5,879 | 3,433 |
| ixgbe_common.h | H A D | 16-Jan-2026 | 9.7 KiB | 208 | 154 |
| ixgbe_dcb.c | H A D | 16-Jan-2026 | 21.4 KiB | 740 | 465 |
| ixgbe_dcb.h | H A D | 16-Jan-2026 | 6.3 KiB | 176 | 95 |
| ixgbe_dcb_82598.c | H A D | 16-Jan-2026 | 10.9 KiB | 366 | 177 |
| ixgbe_dcb_82598.h | H A D | 16-Jan-2026 | 4.1 KiB | 101 | 41 |
| ixgbe_dcb_82599.c | H A D | 16-Jan-2026 | 17.7 KiB | 612 | 294 |
| ixgbe_dcb_82599.h | H A D | 16-Jan-2026 | 5.7 KiB | 155 | 71 |
| ixgbe_e610.c | H A D | 16-Jan-2026 | 155.7 KiB | 5,534 | 2,968 |
| ixgbe_e610.h | H A D | 16-Jan-2026 | 10.5 KiB | 225 | 164 |
| ixgbe_mbx.c | H A D | 16-Jan-2026 | 31.8 KiB | 1,211 | 618 |
| ixgbe_mbx.h | H A D | 16-Jan-2026 | 8.7 KiB | 206 | 113 |
| ixgbe_phy.c | H A D | 16-Jan-2026 | 73.4 KiB | 2,719 | 1,722 |
| ixgbe_phy.h | H A D | 16-Jan-2026 | 9.1 KiB | 221 | 164 |
| ixgbe_type.h | H A D | 16-Jan-2026 | 178.7 KiB | 4,612 | 3,820 |
| ixgbe_type_e610.h | H A D | 16-Jan-2026 | 77.5 KiB | 2,279 | 1,716 |
| ixgbe_vf.c | H A D | 16-Jan-2026 | 23 KiB | 819 | 445 |
| ixgbe_vf.h | H A D | 16-Jan-2026 | 5.5 KiB | 146 | 99 |
| ixgbe_x540.c | H A D | 16-Jan-2026 | 30.9 KiB | 1,071 | 592 |
| ixgbe_x540.h | H A D | 16-Jan-2026 | 3.2 KiB | 69 | 28 |
| ixgbe_x550.c | H A D | 16-Jan-2026 | 127.8 KiB | 4,636 | 2,909 |
| ixgbe_x550.h | H A D | 16-Jan-2026 | 6 KiB | 121 | 84 |
README.illumos
1This directory contains the 'common code' to the ixgbe driver. This code
2comes from FreeBSD. The code is generally taken from a corresponding
3point in FreeBSD after new hardware support is used from the
4`sys/dev/ixgbe` directory. The last commit used was
51e8c28712aafc9a3339e8a832767a70c08168bdc.
6
7The following are the modifications that we have made to this code:
8
9### IXGBE_REMOVED macro
10
11The IXGBE_REMOVED macro normally taks a pointer to the hardware address.
12However, that does not allow us to go through and actually do a useful
13check. Instead we modify all users of this macro to pass the struct
14ixgbe_hw of the ixgbe_t. Importantly, we also remove the current
15definition of IXGBE_REMOVED in ixbe_common.h and instead use the
16definition in ixgbe_osdep.h.
17
18
19### ixgbe_vf.c includes
20
21Historically ixgbe_vf.c which is part of the common code only included
22the files from the common code i.e. ixgbe_api.h, ixgbe_type.h, and
23ixgbe_vf.h. This was changed upstream to refer to the FreeBSD-specific
24overall ixgbe header file. We have reverted this.
25
26
27### ixgbe_e610.c misleading indentation
28
29There are a few function pointer assignments in ixgbe_init_ops_E610()
30that cause a smatch misleading indentation error since they are indented
31with a number of spaces and not tabs like the rest of the block.
32
33
34### ixgbe dynamic memory allocation
35
36ixgbe core code added a notion of dynamic memory allocation in the form
37of malloc, calloc, and free. Since we don't have that as a core kernel
38allocation primitive and a carefully designed and safe memory tagging
39implementation requires some fair amount of work, the simplest thing is
40to pass the actual size to free as these are all local in the functions
41in question.
42
43
44#### ixgbe_lock structure
45
46The E610 logic introduced a generic notion of an ixgbe lock. We want to
47be able to pass the interrupt priority to this function so we modify the
48initialization of this to also pass the ixgbe_hw structure so we can get
49to that. In theory this should all be safely below lock level, but as
50awe can't guarantee firmware isn't called from an interrupt, we want to
51be safe.
52