Return real vendor/part id in query_device
[akaros.git] / kern / drivers / net / mlx4u / README
1 This directory contains logic for priviledged verbs aka user mode control
2 path to support libibverbs. It is based off linux-4.1.15 snapshot of
3 drivers/infiniband/hw/mlx4/. Changes on top of baseline are described
4 here.
5
6 Some common reasons for changes to baseline source:
7
8 HF1:    Linux source code that #includes standard linux header files eg
9         linux/list.h, linux/idr.h had to be modified since these headers
10         are absent in akaros.
11
12 HF2:    Headers copied from Linux eg rdma/ib_verbs.h were placed in akaros
13         in linux/rdma/ib_verbs.h.
14
15 HF3:    Some changes were done to pull in lesser header files from Linux.
16
17 Per file listing of changes:
18
19 user.h, cq.c, doorbell.c, mr.c, srq.c, qp.c, mlx4_ib.h, main.c: HF1
20 main.c: HF2
21 mlx4_ib.h: HF3 (ib_sa.h)
22
23 qp.c:   Avoid compiling/linking big chunk of code, while providing
24         panic-stub mandatory function vectors (checked by
25         ib_device_check_mandatory()).
26
27 main.c: Stubs to reduce including other mlx4/ source files.
28         Akaros version of mlx4_ib_mmap()
29         Akaros does not have dev->dev->persist->pdev->device
30         Akaros does not have dev->persist->pdev->bus->name
31         Sysfs elimination
32         Reduced uverbs_cmd_mask and mlx4 function vector for minimal support
33         No register_netdevice_notifier() and register_inetaddr_notifier()
34         No netdev/inet events ... generally no netdev hook up
35         Panic-stub eth_link_query_port() because dependencies on netdev
36
37 Makefile: Compilation of this directory depends on CONFIG_MLX4_INFINIBAND,
38         which must be selected in build config. Use -Wno-pointer-sign (for
39         main.c mlx4_ib_add() mlx4_counter_alloc() call) and -include local
40         compatibility header file (sometimes overriding akaros compatibility
41         definitions).