david/ipxe
david
/
ipxe
Archived
1
0
Fork 0
Commit Graph

1171 Commits

Author SHA1 Message Date
Michael Brown 0a26cd2933 Cope with system(""). 2006-12-08 17:07:12 +00:00
Michael Brown 69b9048e1a Added "priority" and "root-path" options 2006-12-08 16:30:14 +00:00
Michael Brown 72b1629cee Add placeholder ibft.h 2006-12-08 16:16:21 +00:00
Michael Brown 9aa3e10d7c Use root-path option (as per RFC 4173) rather than filename option to
determine iSCSI boot parameters.
2006-12-08 15:53:49 +00:00
Michael Brown a1af111a87 Also request root-path. 2006-12-08 15:49:46 +00:00
Michael Brown c343a3a8ee Including the final (char *)NULL is the responsibility of the caller
of execl().
2006-12-08 09:15:12 +00:00
Michael Brown a77b32aaf6 D'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh 2006-12-08 03:07:15 +00:00
Michael Brown cc697eeb1f Added "exit" back in as a standardised command. 2006-12-08 01:40:06 +00:00
Michael Brown 7de5d32ff5 cmdlinelib.c now calls system() rather than doing its own tokenisation
(which was extremely heavy on calls to malloc()).

Moved include/command.h to include/gpxe/command.h, since it's
gPXE-specific.
2006-12-08 01:26:11 +00:00
Michael Brown f3d817d512 Added execv() and system(). 2006-12-08 01:23:11 +00:00
Michael Brown e106a39ce8 Added missing include of stdint.h 2006-12-08 01:21:13 +00:00
Michael Brown 496563071d Added strdup() 2006-12-08 00:34:47 +00:00
Michael Brown 1e4a838f55 Added missing prototype 2006-12-08 00:21:08 +00:00
Michael Brown be0cd1cddd Added a functional version of getopt() and getopt_long(), ready for use
in our commands.
2006-12-07 03:54:57 +00:00
Michael Brown 29db66fb51 Add support for non-volatile stored options in the RTL8139 EEPROM. 2006-12-06 20:45:44 +00:00
Michael Brown 2863d1a1de inet_aton() has a non-traditional return value 2006-12-06 20:44:29 +00:00
Michael Brown 38ae94f8ce A cleaner method of handling login redirection; just use the existing
reconnection mechanism.  This avoids the problems of trying to reuse
the TCP connection structure before the old connection has cleanly exited.
2006-12-06 19:53:56 +00:00
Michael Brown d2bf7abe75 Added write support for three-wire devices (e.g. the RTL8139 EEPROM) 2006-12-06 19:51:58 +00:00
Michael Brown ac401f481d Verify data after writing 2006-12-06 18:51:31 +00:00
Michael Brown 5edb85c8b4 Work around another confused-by-RST bug 2006-12-06 18:09:33 +00:00
Michael Brown d88832ad7e Support PXE and iSCSI by default 2006-12-05 23:26:07 +00:00
Michael Brown b9f9230661 Work around another instance of the port re-use bug. 2006-12-05 23:15:35 +00:00
Michael Brown 8c3d09c564 Tweaked retry messages 2006-12-05 23:12:54 +00:00
Michael Brown 9600af14a3 Added debug messages 2006-12-05 22:53:49 +00:00
Michael Brown cc0b92652f Call closed() method only when the connection is genuinely in the
TCP_CLOSED state (i.e. after the final FIN/ACK exchange), and has been
removed from the list of TCP connections.
2006-12-05 22:53:28 +00:00
Michael Brown fcc70c9d60 Ensure that tcp_rx() always frees its received packet buffer. 2006-12-05 21:23:23 +00:00
Michael Brown 28c711b91d Killed off spurious <stdio.h> inclusion 2006-12-05 21:16:52 +00:00
Michael Brown 3fbfbad0f7 Avoid calling NULL methods! 2006-12-05 21:09:37 +00:00
Michael Brown 89bcb57201 Update ftp.c to work with Nikhil's TCP stack.
Remove the now-totally-obsolete sockaddr_in field from tcp.h.
2006-12-05 19:07:47 +00:00
Michael Brown a128b33b8b The VPD engine is broken and can't actually handle placing VPD
anywhere other than offset 0 within the EEPROM, so we have to put our
settings at 0x100 instead.
2006-12-05 17:56:13 +00:00
Michael Brown 4c3e0fede5 Adjust EEPROM/flash detection to fit expected manufacturing practice. 2006-12-05 16:00:06 +00:00
Michael Brown 6a91a03409 Added options listed in
http://www.microsoft.com/whdc/winlogo/hwrequirements.mspx as required
for iSCSI boot.  Note that options 204-206 are listed in the document
but don't seem to be defined anywhere on the web.
2006-12-05 15:40:28 +00:00
Michael Brown c6060a8fea Tidy up some more output. The command-line code needs some severe
overhauling, but this is not the time to do it.
2006-12-05 10:27:16 +00:00
Michael Brown e852f8e504 Slightly tidied up console messages. 2006-12-05 10:14:58 +00:00
Michael Brown cb883b3faf Change some debugging messages to use DBG() 2006-12-05 10:01:00 +00:00
Michael Brown 8bff0f0619 Avoid draining the keyboard buffer during gateA20_set(). It shouldn't
technically be necessary, because the "enable A20" command requires
only that the keyboard controller is ready to accept input (i.e. that
its input buffer is empty), and shouldn't also require that the
keyboard is ready to send output (i.e. that its output buffer is also
empty).  See http://www.smsc.com/main/tools/io-bios/42i.pdf section
3.1 ("Command Invocation") for a justification.

gateA20_set() is called on every real-mode transition (in case some
idiot piece of external code such as Intel's PXE stack decided it
would be fun to re-disable A20), so draining the keyboard buffer means
that we end up losing keypresses on some systems.  In particular, this
makes typing at the command line almost impossible, and causes
Etherboot to ignore Ctrl-Alt-Del.

We should really implement a gateA20_test() function to verify that
gate A20 has been correctly enabled, and think about adding other
commonly-used methods such as Fast Gate A20.
2006-12-05 09:45:39 +00:00
Michael Brown d041d74054 Tied NVO commands into the human-interactable settings code that I
completely forgot I'd written ages ago.
2006-12-05 02:40:03 +00:00
Michael Brown 6842dd3222 Handle TargetAddress 2006-12-05 01:41:32 +00:00
Michael Brown 67577556a2 Handle strings as complete units, instead of a byte at a time. 2006-12-05 01:08:56 +00:00
Michael Brown 3a7d762c1c Add iscsi_rx_buffered_data() and supporting infrastructure. 2006-12-05 00:39:05 +00:00
Michael Brown 16b81e442f Added more debug messages 2006-12-04 23:47:44 +00:00
Michael Brown d9f32726b4 Added quick and dirty commands for testing the new NVO code. 2006-12-04 23:40:35 +00:00
Michael Brown 6b45947a59 Added debug statements 2006-12-04 23:20:56 +00:00
Michael Brown 052ef6dc5a Added nvs_write(). This shares a lot of code in common with nvs_read();
this can probably be optimised down quite a lot.
2006-12-04 22:06:54 +00:00
Michael Brown ab4e1dba3f Added nvo_save() 2006-12-04 22:04:10 +00:00
Michael Brown cc9bcb99a0 Add the concept of a fragment list for non-volatile stored options. 2006-12-04 21:46:13 +00:00
Michael Brown f944737045 Fixed two logic errors that were cancelling each other out. 2006-12-04 21:12:52 +00:00
Michael Brown d62c83a350 Migrated etherfabric driver to using generic SPI layer. 2006-12-04 20:47:51 +00:00
Michael Brown 2d8d21fe74 Added the generic block-splitting code to nvs.c 2006-12-04 19:06:07 +00:00
Michael Brown 1961ba44e1 Added generic SPI protocol handler with read and write support. 2006-12-04 18:32:55 +00:00