Commit Graph

  • db124b1255 Add fls() for non-constant values. Michael Brown 2007-09-16 17:36:40 +01:00
  • f09173326c Moved iobuf.h assertions outside the static inline functions, so that the assert message's file and line number gives some clue as to the real location of the problem. Michael Brown 2007-09-17 18:38:04 +01:00
  • 0f60150c44 Reverted driver/net/mlx_ipoib to clean master state Michael Brown 2007-09-18 07:07:04 +01:00
  • 148055dd79 Merge branch 'master' into 3leaf-rewrite Michael Brown 2007-09-18 07:03:57 +01:00
  • 30717896f5 IB can't afford many RX buffers, because the MTU is so large. Reduce the TCP window to compensate. Michael Brown 2007-09-18 07:02:41 +01:00
  • 2f23881856 Added arbel.c Michael Brown 2007-09-18 06:37:22 +01:00
  • 95498fa038 Remove the last remaining visible hack. Michael Brown 2007-09-18 06:26:31 +01:00
  • 982e4dd101 Separated out to a clean new drivers/infiniband directory. Michael Brown 2007-09-18 06:06:55 +01:00
  • a5ec029d24 First version that works with SELF_INIT! Michael Brown 2007-09-18 05:46:49 +01:00
  • 8423b0b109 Gets most of the way through initialisation. Michael Brown 2007-09-18 05:39:34 +01:00
  • def5ae9127 Added sw2hw_mpt Michael Brown 2007-09-18 04:45:55 +01:00
  • da014080f9 INIT_HCA block now matches. Michael Brown 2007-09-18 04:20:41 +01:00
  • 57bf8d9905 Seems to get through the ICM mapping process Michael Brown 2007-09-18 03:58:59 +01:00
  • 4ea6223f5a ICM allocation code in place; about to start test-and-compare runs. Michael Brown 2007-09-18 02:57:49 +01:00
  • f20cd6f721 ICM allocation code *should* now be complete. Michael Brown 2007-09-18 02:05:25 +01:00
  • af88f60228 Started with the ICM partitioning code. Michael Brown 2007-09-18 01:49:39 +01:00
  • c818d47e25 Restructured bits of initialisation (not testable at present) Michael Brown 2007-09-17 22:25:46 +01:00
  • dc3165b746 Starting the firmware directly now works. Michael Brown 2007-09-17 21:59:41 +01:00
  • 0f62bcaa77 Start migrating the remaining initialisation steps. Michael Brown 2007-09-17 21:14:09 +01:00
  • f3fcb53faf Don't use the mailboxless version of the HW2SW_CQ command; it seems to crash the machine. Michael Brown 2007-09-17 19:47:19 +01:00
  • 12b4cb964b Removed more hacks, and adjusted number of queue entries for likely usage. Michael Brown 2007-09-17 19:17:55 +01:00
  • 11541b1e01 Remove hacks, and fix leaving the multicast GID. Michael Brown 2007-09-17 19:12:06 +01:00
  • 267a4483ab Added an almost obscene amount of debugging and assertion code while tracking down a bug that turned out to be a free_iob() used where I needed a netdev_tx_complete(). This left the freed I/O buffer on the net device's TX list, with bad, bad consequences later. Michael Brown 2007-09-17 19:01:10 +01:00
  • 387a1a8556 Minor debug message improvement. Michael Brown 2007-09-17 18:57:32 +01:00
  • 2c56ede6f8 Moved iobuf.h assertions outside the static inline functions, so that the assert message's file and line number gives some clue as to the real location of the problem. Michael Brown 2007-09-17 18:38:04 +01:00
  • bdac591726 Some interesting packet corruption happening now. Michael Brown 2007-09-17 13:31:13 +01:00
  • 2ed1acb9e9 Broadcast GID is now calculated by IPoIB layer. Michael Brown 2007-09-17 11:50:25 +01:00
  • 32a7bbb1e3 Cleaned up some debug messages. Michael Brown 2007-09-17 10:56:21 +01:00
  • ab191e45db Unicasts seem to be working. :) Michael Brown 2007-09-17 10:39:30 +01:00
  • 2209090120 Dead code disabling Michael Brown 2007-09-17 08:41:06 +01:00
  • b3d3814c17 Obtains a response to the get path record! Michael Brown 2007-09-17 08:36:56 +01:00
  • e05a8cd4de Use pkey table access to determine broadcast GID directly. Michael Brown 2007-09-17 06:35:21 +01:00
  • f6f1f2b7bb Prepare for adding a metadata queue to IPoIB Michael Brown 2007-09-17 06:12:33 +01:00
  • 440e7926fb Dead code removal Michael Brown 2007-09-17 05:12:47 +01:00
  • 4e78a53cf2 IPoIB code separated out to ipoib.c. Michael Brown 2007-09-17 05:04:58 +01:00
  • 67836430e6 Read port GID directly using MAD IFC. Michael Brown 2007-09-17 02:54:15 +01:00
  • 3c6a6bdc5d Multicast join now works. Michael Brown 2007-09-17 00:24:44 +01:00
  • 96d0c75c00 Now transmits packets on our own allocated IPoIB queue pair. :) Michael Brown 2007-09-16 22:53:57 +01:00
  • 4ddb6570f8 Almost working with own-queue allocation. Michael Brown 2007-09-16 22:47:45 +01:00
  • 7e85f0d296 create_qp() and destroy_qp() now written (but not tested). Michael Brown 2007-09-16 20:54:21 +01:00
  • 251cc84ed6 Started implementing create_qp() and destroy_qp(). Michael Brown 2007-09-16 19:03:24 +01:00
  • 83a6cc8c9b Don't get stuck in an infinite loop on negative integers! Michael Brown 2007-09-16 17:39:29 +01:00
  • 6d15a193aa Add fls() for non-constant values. Michael Brown 2007-09-16 17:36:40 +01:00
  • 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 Michael Brown 2007-09-16 17:25:15 +01:00
  • e238bb1e43 destroy_cq() now implemented (not tested). Michael Brown 2007-09-16 14:39:51 +01:00
  • 18edcf6634 create_cq() implemented (but not tested). Michael Brown 2007-09-16 14:18:17 +01:00
  • 725a574042 Match doorbell layout to expected usage. Michael Brown 2007-09-16 13:10:15 +01:00
  • 5a43293c38 Started to add code for CQ creation Michael Brown 2007-09-16 12:52:58 +01:00
  • 156b409ccc Rearrange data structures to maximise embedding (and hence minimise the number of separate allocations that need to be done). Michael Brown 2007-09-16 04:02:20 +01:00
  • 791f992657 Command interface now reasonably friendly. Michael Brown 2007-09-16 03:13:25 +01:00
  • bf9bd93856 First (working) draft of command interface. Michael Brown 2007-09-16 01:44:57 +01:00
  • baa885ee8e Kill off more dead code. Michael Brown 2007-09-15 23:36:41 +01:00
  • 37fc40bc8c post_recv() now works, and we can pass data on the IPoIB queue pair using entirely our own code. Michael Brown 2007-09-15 23:33:25 +01:00
  • 838b972cd3 Kill off some dead code Michael Brown 2007-09-15 21:26:14 +01:00
  • 31b82ea1dd Hack up IB structures at start-of-day, instead of on each use. Michael Brown 2007-09-15 21:23:34 +01:00
  • 8deef093d9 Direct polling of TX completion queue now works. Michael Brown 2007-09-15 20:58:29 +01:00
  • 687afdcdd9 Add const attribute to byte-swapping functions Michael Brown 2007-09-15 18:44:35 +01:00
  • 6a791649f0 Updated MLX_* accessor macros to use implicit type information. Michael Brown 2007-09-15 18:44:09 +01:00
  • a3a91fedc1 Started added poll_cq() verb. Michael Brown 2007-09-15 15:40:35 +01:00
  • 37a036bd48 Map the whole of physical memory Michael Brown 2007-09-15 03:22:04 +01:00
  • 970951666f arbel_post_send() has been observed to transmit a packet! Michael Brown 2007-09-15 02:53:05 +01:00
  • 8b27da9de1 Gets a response out of the hardware. (An error completion, to be precise.) Michael Brown 2007-09-15 01:35:07 +01:00
  • 21d4ab3ce2 Prefix arbel-specific functions etc. with arbel_ Michael Brown 2007-09-15 00:27:09 +01:00
  • 38a73b55c4 Now at least compiles Michael Brown 2007-09-15 00:19:38 +01:00
  • 9d08b7c692 Starting to introduce an Infiniband device abstraction Michael Brown 2007-09-14 20:29:44 +01:00
  • 75fbc96f75 Remove some dead code Michael Brown 2007-09-14 11:23:06 +01:00
  • 08e8dfd801 Now handling TX completions in our poll loop. Michael Brown 2007-09-14 11:10:25 +01:00
  • e69863b5fb Proof-of-concept to manually parse completion event Michael Brown 2007-09-14 10:18:09 +01:00
  • e9df4f691e Add EX_FLD_BE() Michael Brown 2007-09-14 10:17:29 +01:00
  • da23e8d287 Start constructing a generic poll() routine. Michael Brown 2007-09-13 17:47:14 +01:00
  • 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. Michael Brown 2007-09-13 14:43:12 +01:00
  • 99411e36da Added netdev_priv() to ease Linux driver compatibility. Michael Brown 2007-09-13 13:34:38 +01:00
  • eecf71e4a0 Removed file checked in accidentally Michael Brown 2007-09-13 12:57:25 +01:00
  • 03c90e183f Dump received packet, including GRH. Michael Brown 2007-09-13 03:15:27 +01:00
  • 7e4e5af462 Use RFC4390 whenever hardware address exceeds 16 bytes; this allows us to construct DHCP packets suitable for Infiniband. Michael Brown 2007-09-13 01:53:04 +01:00
  • 771455653b Bugfix: DHCP message type should be a one-byte option... (d'oh) Michael Brown 2007-09-13 01:13:57 +01:00
  • 9e32e8e513 Now sends IP packets correctly. Michael Brown 2007-09-13 01:14:56 +01:00
  • c0d99245a9 Bugfix: DHCP message type should be a one-byte option... (d'oh) Michael Brown 2007-09-13 01:13:57 +01:00
  • 7b6d11e713 Started IB driver rewrite Michael Brown 2007-09-12 22:17:43 +01:00
  • 5f6439c828 Merge branch 'master' into 3leaf-rewrite Michael Brown 2007-09-11 15:42:17 +01:00
  • 98de16befd Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe Michael Brown 2007-09-09 13:31:38 +01:00
  • 6f799db5bd Use "/bin/echo -e" instead of shell builtin echo; some shells don't implement the -e option. Michael Brown 2007-09-08 23:38:17 +01:00
  • 972f293e46 Check for correct block number in tftp_rx_data(). Michael Brown 2007-09-08 19:30:25 +01:00
  • fbec308f41 Re-added the kpxe prefix. I have no idea when this disappeared. Michael Brown 2007-09-08 15:57:01 +01:00
  • 66207bb912 Add the possibility to create .o files from arbitrary binary blobs. Michael Brown 2007-09-06 15:11:09 +01:00
  • a82e6ec2de Added missing .kpxe prefix. Michael Brown 2007-09-06 15:08:41 +01:00
  • 00d93c6dd9 Minor style fix: structure fields are generally initialised in the order in which they occur. Michael Brown 2007-09-06 13:37:47 +01:00
  • 14e1d3cc4d TFTP default blocksize fix from Vampyre Marty Connor 2007-08-30 13:51:38 -04:00
  • 63f0e4e796 allpxes allroms alldsks fixes from Vampyre Marty Connor 2007-08-30 13:08:46 -04:00
  • eaca053174 Add sis900 variant (patch from Vampyre) Marty Connor 2007-08-30 08:36:00 -04:00
  • 74a49af4ab Force MAC address for testing purposes Michael Brown 2007-08-29 20:07:41 +01:00
  • 5d6f6fb924 Merge branch 'master' into curses Holger Lubitz 2007-08-23 23:15:54 +02:00
  • 376bacab67 Merge branch 'master' of git://git.etherboot.org/scm/gpxe Holger Lubitz 2007-08-23 23:10:59 +02:00
  • 746d0f8feb Merge commit 'holger/strings' Michael Brown 2007-08-23 21:51:57 +01:00
  • b62a9ee0f4 Merge branch 'master' into 3leaf Michael Brown 2007-08-23 20:50:58 +01:00
  • 01b755704a Auto-assign drive number only if set to 0xff; almost all applications require that we use drive 0x80, so it should probably be the default. Michael Brown 2007-08-23 20:50:24 +01:00
  • d078fb3cb7 Allow legacy "make bin/etherboot.%". Michael Brown 2007-08-22 23:10:00 +01:00
  • 8ee7eeb407 Merge branch 'master' into 3leaf Michael Brown 2007-08-21 01:53:11 +01:00
  • f92096d180 use malloc attribute Holger Lubitz 2007-08-20 20:30:24 +02:00
  • bc9f960b66 use malloc attribute Holger Lubitz 2007-08-20 20:30:17 +02:00