david/ipxe
Archived
1
0
Commit Graph

2322 Commits

Author SHA1 Message Date
Michael Brown
9c264faa0c Add const attribute to byte-swapping functions 2007-09-21 01:15:06 +01:00
Michael Brown
7e3527a658 Don't get stuck in an infinite loop on negative integers! 2007-09-21 01:14:44 +01:00
Michael Brown
db124b1255 Add fls() for non-constant values. 2007-09-21 01:14:38 +01:00
Michael Brown
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.

Added similar assertions to list.h.
2007-09-21 01:13:22 +01:00
Michael Brown
0f60150c44 Reverted driver/net/mlx_ipoib to clean master state 2007-09-18 07:07:04 +01:00
Michael Brown
30717896f5 IB can't afford many RX buffers, because the MTU is so large. Reduce
the TCP window to compensate.
2007-09-18 07:02:41 +01:00
Michael Brown
2f23881856 Added arbel.c 2007-09-18 06:37:22 +01:00
Michael Brown
95498fa038 Remove the last remaining visible hack. 2007-09-18 06:26:31 +01:00
Michael Brown
982e4dd101 Separated out to a clean new drivers/infiniband directory. 2007-09-18 06:06:55 +01:00
Michael Brown
a5ec029d24 First version that works with SELF_INIT! 2007-09-18 05:46:49 +01:00
Michael Brown
8423b0b109 Gets most of the way through initialisation. 2007-09-18 05:39:34 +01:00
Michael Brown
def5ae9127 Added sw2hw_mpt 2007-09-18 04:45:55 +01:00
Michael Brown
da014080f9 INIT_HCA block now matches. 2007-09-18 04:20:41 +01:00
Michael Brown
57bf8d9905 Seems to get through the ICM mapping process 2007-09-18 03:58:59 +01:00
Michael Brown
4ea6223f5a ICM allocation code in place; about to start test-and-compare runs. 2007-09-18 02:57:49 +01:00
Michael Brown
f20cd6f721 ICM allocation code *should* now be complete. 2007-09-18 02:05:25 +01:00
Michael Brown
af88f60228 Started with the ICM partitioning code. 2007-09-18 01:49:39 +01:00
Michael Brown
c818d47e25 Restructured bits of initialisation (not testable at present) 2007-09-17 22:25:46 +01:00
Michael Brown
dc3165b746 Starting the firmware directly now works. 2007-09-17 21:59:41 +01:00
Michael Brown
0f62bcaa77 Start migrating the remaining initialisation steps. 2007-09-17 21:14:09 +01:00
Michael Brown
f3fcb53faf Don't use the mailboxless version of the HW2SW_CQ command; it seems to
crash the machine.
2007-09-17 19:47:19 +01:00
Michael Brown
12b4cb964b Removed more hacks, and adjusted number of queue entries for likely usage. 2007-09-17 19:17:55 +01:00
Michael Brown
11541b1e01 Remove hacks, and fix leaving the multicast GID. 2007-09-17 19:12:06 +01:00
Michael Brown
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.

Also fixed the bug in question.
2007-09-17 19:01:10 +01:00
Michael Brown
387a1a8556 Minor debug message improvement. 2007-09-17 18:57:32 +01:00
Michael Brown
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.

Added similar assertions to list.h.
2007-09-17 18:38:04 +01:00
Michael Brown
bdac591726 Some interesting packet corruption happening now. 2007-09-17 13:31:13 +01:00
Michael Brown
2ed1acb9e9 Broadcast GID is now calculated by IPoIB layer. 2007-09-17 11:50:25 +01:00
Michael Brown
32a7bbb1e3 Cleaned up some debug messages. 2007-09-17 10:56:21 +01:00
Michael Brown
ab191e45db Unicasts seem to be working. :) 2007-09-17 10:39:30 +01:00
Michael Brown
2209090120 Dead code disabling 2007-09-17 08:41:06 +01:00
Michael Brown
b3d3814c17 Obtains a response to the get path record! 2007-09-17 08:36:56 +01:00
Michael Brown
e05a8cd4de Use pkey table access to determine broadcast GID directly. 2007-09-17 06:35:21 +01:00
Michael Brown
f6f1f2b7bb Prepare for adding a metadata queue to IPoIB 2007-09-17 06:12:33 +01:00
Michael Brown
440e7926fb Dead code removal 2007-09-17 05:12:47 +01:00
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
83a6cc8c9b Don't get stuck in an infinite loop on negative integers! 2007-09-16 17:39:29 +01:00
Michael Brown
6d15a193aa Add fls() for non-constant values. 2007-09-16 17:36:40 +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
725a574042 Match doorbell layout to expected usage. 2007-09-16 13:10:15 +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
687afdcdd9 Add const attribute to byte-swapping functions 2007-09-15 18:44:35 +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
e9df4f691e Add EX_FLD_BE() 2007-09-14 10:17:29 +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
99411e36da Added netdev_priv() to ease Linux driver compatibility. 2007-09-13 13:34:38 +01:00
Michael Brown
eecf71e4a0 Removed file checked in accidentally 2007-09-13 12:57:25 +01:00
Michael Brown
03c90e183f Dump received packet, including GRH. 2007-09-13 03:15:27 +01:00
Michael Brown
7e4e5af462 Use RFC4390 whenever hardware address exceeds 16 bytes; this allows us
to construct DHCP packets suitable for Infiniband.
2007-09-13 01:53:04 +01:00
Michael Brown
771455653b Bugfix: DHCP message type should be a one-byte option... (d'oh) 2007-09-13 01:16:23 +01:00
Michael Brown
9e32e8e513 Now sends IP packets correctly. 2007-09-13 01:14:56 +01:00
Michael Brown
c0d99245a9 Bugfix: DHCP message type should be a one-byte option... (d'oh) 2007-09-13 01:13:57 +01:00
Michael Brown
7b6d11e713 Started IB driver rewrite 2007-09-12 22:17:43 +01:00
Michael Brown
5f6439c828 Merge branch 'master' into 3leaf-rewrite 2007-09-11 15:42:17 +01:00
Michael Brown
98de16befd Merge branch 'master' of rom.etherboot.org:/pub/scm/gpxe 2007-09-09 13:31:38 +01:00
Michael Brown
6f799db5bd Use "/bin/echo -e" instead of shell builtin echo; some shells don't
implement the -e option.

(Thanks to Jim McQuillan for this suggestion.)
2007-09-08 23:38:17 +01:00
Michael Brown
972f293e46 Check for correct block number in tftp_rx_data().
(Problem observed by Clay McClure in VMware Fusion.)
2007-09-08 19:30:25 +01:00
Michael Brown
fbec308f41 Re-added the kpxe prefix. I have no idea when this disappeared. 2007-09-08 15:57:01 +01:00
Michael Brown
66207bb912 Add the possibility to create .o files from arbitrary binary blobs. 2007-09-06 15:11:09 +01:00
Michael Brown
a82e6ec2de Added missing .kpxe prefix. 2007-09-06 15:08:41 +01:00
Michael Brown
00d93c6dd9 Minor style fix: structure fields are generally initialised in the
order in which they occur.
2007-09-06 13:37:47 +01:00
Marty Connor
14e1d3cc4d TFTP default blocksize fix from Vampyre 2007-08-30 13:51:38 -04:00
Marty Connor
63f0e4e796 allpxes allroms alldsks fixes from Vampyre 2007-08-30 13:08:46 -04:00
Marty Connor
eaca053174 Add sis900 variant (patch from Vampyre) 2007-08-30 08:36:00 -04:00
Michael Brown
74a49af4ab Force MAC address for testing purposes 2007-08-29 20:07:41 +01:00
Holger Lubitz
5d6f6fb924 Merge branch 'master' into curses
Conflicts:

	src/include/compiler.h
	src/include/readline/readline.h

created by strings branch merge. resolved.
2007-08-23 23:15:54 +02:00
Michael Brown
746d0f8feb Merge commit 'holger/strings' 2007-08-23 21:51:57 +01:00
Michael Brown
b62a9ee0f4 Merge branch 'master' into 3leaf 2007-08-23 20:50:58 +01:00
Michael Brown
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.
2007-08-23 20:50:24 +01:00
Michael Brown
d078fb3cb7 Allow legacy "make bin/etherboot.%". 2007-08-22 23:10:00 +01:00
Michael Brown
8ee7eeb407 Merge branch 'master' into 3leaf 2007-08-21 01:53:11 +01:00
Holger Lubitz
f92096d180 use malloc attribute 2007-08-20 20:30:24 +02:00
Holger Lubitz
bc9f960b66 use malloc attribute 2007-08-20 20:30:17 +02:00
Holger Lubitz
6f0eca1400 use malloc attribute 2007-08-20 20:30:11 +02:00
Holger Lubitz
8bb295e3fd use malloc attribute 2007-08-20 20:29:58 +02:00
Holger Lubitz
6f61e254dc use malloc attribute 2007-08-20 20:29:50 +02:00
Holger Lubitz
347ab9b8c2 use malloc attribute 2007-08-20 20:29:41 +02:00
Holger Lubitz
c4285e148d use malloc attribute 2007-08-20 20:29:30 +02:00
Holger Lubitz
05708503e5 use malloc attribute 2007-08-20 20:29:23 +02:00
Holger Lubitz
9386263433 use malloc attribute 2007-08-20 20:29:09 +02:00
Holger Lubitz
68455adf37 use malloc attribute 2007-08-20 20:28:47 +02:00
Holger Lubitz
dea89e8d62 use malloc attribute 2007-08-20 20:28:23 +02:00
Holger Lubitz
2220e1a676 define malloc attribute 2007-08-20 20:28:11 +02:00
Holger Lubitz
2e88138b06 __nonnull changes 2007-08-20 00:35:07 +02:00
Holger Lubitz
a0fbce4656 __nonnull changes 2007-08-20 00:34:59 +02:00
Holger Lubitz
d0867b101d __nonnull changes 2007-08-20 00:34:46 +02:00
Holger Lubitz
d2dd4b9e31 __nonnull changes 2007-08-20 00:34:39 +02:00
Holger Lubitz
e1eefee16b __nonnull changes 2007-08-20 00:34:32 +02:00
Holger Lubitz
3559beeb0f __nonnull changes 2007-08-20 00:34:17 +02:00
Holger Lubitz
3c19e4a07e __nonnull changes 2007-08-20 00:34:04 +02:00
Holger Lubitz
d39e79248c __nonnull changes 2007-08-20 00:33:55 +02:00
Holger Lubitz
c5414e6d12 __nonnull changes 2007-08-20 00:33:51 +02:00
Holger Lubitz
6a3ee34c18 __nonnull changes 2007-08-20 00:32:51 +02:00
Holger Lubitz
e7114f1215 __nonnull changes 2007-08-20 00:32:36 +02:00
Holger Lubitz
3859abb7de define __nonnull 2007-08-19 22:51:17 +02:00
Holger Lubitz
e8b8991b84 define __pure and __const 2007-08-19 22:50:48 +02:00
Michael Brown
a45a145b8c Added error IDs for all files in drivers/net; they're likely to need them. 2007-08-19 00:29:43 +01:00
Michael Brown
db61b0a577 Added error IDs for all files in drivers/net; they're likely to need them. 2007-08-19 00:29:27 +01:00
Michael Brown
8ad8804f7a Fix building on distros which use dash as the default shell. 2007-08-18 19:05:06 +01:00
Michael Brown
800c8b014b Add barrier() primitive (was present in Eb5.4), used by some currently
out-of-tree driver code.
2007-08-18 18:05:00 +01:00
Michael Brown
a895fd0c15 Add barrier() primitive (was present in Eb5.4), used by some currently
out-of-tree driver code.
2007-08-18 18:04:50 +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
d0974ec716 Separate out arch-independent parts of stdint.h 2007-08-17 19:51:35 +01:00
Michael Brown
eff8b06eff Separate out arch-independent parts of stdint.h 2007-08-17 19:51:08 +01:00
Michael Brown
d9bba621c8 Imported latest versions from Etherboot 5.4 2007-08-17 19:35:40 +01:00
Michael Brown
2ff1b1245b Use start_timer_nodelay() in protocols which rely on the retry timer
to generate the initial transmission; this cuts off around 0.3s per
instantiated connection.
2007-08-13 11:03:33 -07:00
Michael Brown
0a3c2b80ea Add start_timer_nodelay() 2007-08-13 10:59:00 -07:00
Michael Brown
5cda460f19 Build the all-driver images by default, and print instructions for usage. 2007-08-09 20:17:35 -07:00
Michael Brown
54bf2621ed Add iBFT code derived from IBM document.
No Microsoft intellectual property was harmed in the production of
this code.
2007-08-09 17:44:20 -07:00
Michael Brown
cfcc41d407 Set current working URI to be that of the executable image when
executing any image, not just a script.  (This will enable pxelinux to
use relative URIs, should it wish to.)
2007-08-07 06:50:12 -07:00
Michael Brown
950057eeed Add PXE FILE API. 2007-08-04 01:23:37 +01:00
Michael Brown
07f84566d5 Make read_user() non-blocking, and add select() call. 2007-08-04 01:22:52 +01:00
Michael Brown
218651e125 Display name and status of each file as it is downloaded. 2007-08-03 12:49:21 +01:00
Michael Brown
6e46dddc2c Print multiple commands per line in help 2007-08-03 01:03:21 +01:00
Michael Brown
688bac1656 Place multiboot command lines in base memory; Xen won't pick them up
otherwise.  :(
2007-08-02 23:09:03 +01:00
Michael Brown
710c6c1be1 Error message cleanups. 2007-08-02 20:27:50 +01:00
Michael Brown
1ae40765a6 Set current working URI equal to script URI during script execution. 2007-08-02 20:27:19 +01:00
Michael Brown
49009a4c1b uri_get(NULL) and uri_put(NULL) are explicitly allowed. 2007-08-02 20:26:49 +01:00
Michael Brown
d4947c05b2 Allow images to hold references to the originating URI.
Some shuffling around of the image management code; this needs tidying up.
2007-08-02 20:18:32 +01:00
Michael Brown
9fd6a0418f Allowed zero-cost enforced ordering of features in startup banner
list.

Added FEATURE() macros to most relevant (non-driver) files.
2007-08-02 14:51:03 +01:00
Michael Brown
67afe84292 Use otherwise-useless byte in DHCP feature option as a version number 2007-08-02 04:36:00 +01:00
Michael Brown
0acb016840 Add FEATURE() macro, plus code to display features at startup time,
and generate DHCP options to indicate features to DHCP server (and to
PXE NBPs).
2007-08-02 04:24:39 +01:00