Commit Graph

43 Commits (4e78a53cf26b85736123eee29d23d637b4a3883f)

Author SHA1 Message Date
Michael Brown 4e78a53cf2 IPoIB code separated out to ipoib.c. 2007-09-17 05:04:58 +01:00
Michael Brown 67836430e6 Read port GID directly using MAD IFC. 2007-09-17 02:54:15 +01:00
Michael Brown 3c6a6bdc5d Multicast join now works. 2007-09-17 00:24:44 +01:00
Michael Brown 96d0c75c00 Now transmits packets on our own allocated IPoIB queue pair. :) 2007-09-16 22:53:57 +01:00
Michael Brown 4ddb6570f8 Almost working with own-queue allocation. 2007-09-16 22:47:45 +01:00
Michael Brown 7e85f0d296 create_qp() and destroy_qp() now written (but not tested). 2007-09-16 20:54:21 +01:00
Michael Brown 251cc84ed6 Started implementing create_qp() and destroy_qp(). 2007-09-16 19:03:24 +01:00
Michael Brown b21d4ca21e Revert to dev_priv/owner_priv scheme, rather than container_of; it
makes it easier to put the generic allocation code into infiniband.c
2007-09-16 17:25:15 +01:00
Michael Brown e238bb1e43 destroy_cq() now implemented (not tested). 2007-09-16 14:39:51 +01:00
Michael Brown 18edcf6634 create_cq() implemented (but not tested). 2007-09-16 14:18:17 +01:00
Michael Brown 5a43293c38 Started to add code for CQ creation 2007-09-16 12:52:58 +01:00
Michael Brown 156b409ccc Rearrange data structures to maximise embedding (and hence minimise
the number of separate allocations that need to be done).
2007-09-16 04:02:20 +01:00
Michael Brown 791f992657 Command interface now reasonably friendly. 2007-09-16 03:13:25 +01:00
Michael Brown bf9bd93856 First (working) draft of command interface. 2007-09-16 01:44:57 +01:00
Michael Brown baa885ee8e Kill off more dead code. 2007-09-15 23:36:41 +01:00
Michael Brown 37fc40bc8c post_recv() now works, and we can pass data on the IPoIB queue pair
using entirely our own code.
2007-09-15 23:33:25 +01:00
Michael Brown 838b972cd3 Kill off some dead code 2007-09-15 21:26:14 +01:00
Michael Brown 31b82ea1dd Hack up IB structures at start-of-day, instead of on each use. 2007-09-15 21:23:34 +01:00
Michael Brown 8deef093d9 Direct polling of TX completion queue now works. 2007-09-15 20:58:29 +01:00
Michael Brown 6a791649f0 Updated MLX_* accessor macros to use implicit type information. 2007-09-15 18:44:09 +01:00
Michael Brown a3a91fedc1 Started added poll_cq() verb.
Started reworking MLX_EXTRACT(), MLX_POPULATE() etc. to automatically
determine type information.
2007-09-15 15:40:35 +01:00
Michael Brown 37a036bd48 Map the whole of physical memory 2007-09-15 03:22:04 +01:00
Michael Brown 970951666f arbel_post_send() has been observed to transmit a packet! 2007-09-15 02:53:05 +01:00
Michael Brown 8b27da9de1 Gets a response out of the hardware. (An error completion, to be precise.) 2007-09-15 01:35:07 +01:00
Michael Brown 21d4ab3ce2 Prefix arbel-specific functions etc. with arbel_ 2007-09-15 00:27:09 +01:00
Michael Brown 38a73b55c4 Now at least compiles 2007-09-15 00:19:38 +01:00
Michael Brown 9d08b7c692 Starting to introduce an Infiniband device abstraction 2007-09-14 20:29:44 +01:00
Michael Brown 75fbc96f75 Remove some dead code 2007-09-14 11:23:06 +01:00
Michael Brown 08e8dfd801 Now handling TX completions in our poll loop. 2007-09-14 11:10:25 +01:00
Michael Brown e69863b5fb Proof-of-concept to manually parse completion event 2007-09-14 10:18:09 +01:00
Michael Brown da23e8d287 Start constructing a generic poll() routine. 2007-09-13 17:47:14 +01:00
Michael Brown 30a19c3f1c Can now both send and receive packets. LL header format not yet
fixed; still using a quick hack-up just to be able to pass through
data.
2007-09-13 14:43:12 +01:00
Michael Brown 03c90e183f Dump received packet, including GRH. 2007-09-13 03:15:27 +01:00
Michael Brown 9e32e8e513 Now sends IP packets correctly. 2007-09-13 01:14:56 +01:00
Michael Brown 7b6d11e713 Started IB driver rewrite 2007-09-12 22:17:43 +01:00
Michael Brown 74a49af4ab Force MAC address for testing purposes 2007-08-29 20:07:41 +01:00
Michael Brown b42c5905cb Very quick and very dirty hack to get the Mellanox code building
inside gPXE.
2007-08-18 18:04:18 +01:00
Michael Brown 9d2c54735e Started fixing up compilation warnings. 2007-08-17 20:34:48 +01:00
Michael Brown d9bba621c8 Imported latest versions from Etherboot 5.4 2007-08-17 19:35:40 +01:00
Michael Brown 520d9c36af Updated ISAPnP, EISA, MCA and ISA buses to current device model.
ISA 3c509 is currently non-functional, although the EISA (3c509-eisa) and
MCA (3c529) variants should build OK.

None of this code is yet tested.
2007-03-10 18:08:33 +00:00
Michael Brown 832e86246b gcc is rather over-aggressive about optimising out static data structures
even when __atribute__ (( unused )) is correctly set...
2006-04-24 18:31:37 +00:00
Michael Brown 824d6ffa7f Header rearrangement.
I want to get to the point where any header in include/ reflects a
standard user-level header (e.g. a POSIX header), while everything that's
specific to gPXE lives in include/gpxe/.  Headers that reflect a Linux
header (e.g. if_ether.h) should also be in include/gpxe/, with the same
name as the Linux header and, preferably, the same names used for the
definitions.
2006-04-24 15:42:49 +00:00
Michael Brown 28cefdccc4 Merge from Etherboot 5.4 2006-03-16 18:30:46 +00:00