Michael Brown
04c09823bd
Request all the options that we're prepared to do anything with.
18 gadus atpakaļ
Michael Brown
240c9512bb
Added "clear" command
18 gadus atpakaļ
Michael Brown
007ca97f25
Added clear_setting()
18 gadus atpakaļ
Michael Brown
0a26cd2933
Cope with system("").
18 gadus atpakaļ
Michael Brown
69b9048e1a
Added "priority" and "root-path" options
18 gadus atpakaļ
Michael Brown
72b1629cee
Add placeholder ibft.h
18 gadus atpakaļ
Michael Brown
9aa3e10d7c
Use root-path option (as per RFC 4173) rather than filename option to
determine iSCSI boot parameters.
18 gadus atpakaļ
Michael Brown
a1af111a87
Also request root-path.
18 gadus atpakaļ
Michael Brown
c343a3a8ee
Including the final (char *)NULL is the responsibility of the caller
of execl().
18 gadus atpakaļ
Michael Brown
a77b32aaf6
D'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh
18 gadus atpakaļ
Michael Brown
cc697eeb1f
Added "exit" back in as a standardised command.
18 gadus atpakaļ
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.
18 gadus atpakaļ
Michael Brown
f3d817d512
Added execv() and system().
18 gadus atpakaļ
Michael Brown
e106a39ce8
Added missing include of stdint.h
18 gadus atpakaļ
Michael Brown
496563071d
Added strdup()
18 gadus atpakaļ
Michael Brown
1e4a838f55
Added missing prototype
18 gadus atpakaļ
Michael Brown
be0cd1cddd
Added a functional version of getopt() and getopt_long(), ready for use
in our commands.
18 gadus atpakaļ
Michael Brown
29db66fb51
Add support for non-volatile stored options in the RTL8139 EEPROM.
18 gadus atpakaļ
Michael Brown
2863d1a1de
inet_aton() has a non-traditional return value
18 gadus atpakaļ
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.
18 gadus atpakaļ
Michael Brown
d2bf7abe75
Added write support for three-wire devices (e.g. the RTL8139 EEPROM)
18 gadus atpakaļ
Michael Brown
ac401f481d
Verify data after writing
18 gadus atpakaļ
Michael Brown
5edb85c8b4
Work around another confused-by-RST bug
18 gadus atpakaļ
Michael Brown
d88832ad7e
Support PXE and iSCSI by default
18 gadus atpakaļ
Michael Brown
b9f9230661
Work around another instance of the port re-use bug.
18 gadus atpakaļ
Michael Brown
8c3d09c564
Tweaked retry messages
18 gadus atpakaļ
Michael Brown
9600af14a3
Added debug messages
18 gadus atpakaļ
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.
18 gadus atpakaļ
Michael Brown
fcc70c9d60
Ensure that tcp_rx() always frees its received packet buffer.
18 gadus atpakaļ
Michael Brown
28c711b91d
Killed off spurious <stdio.h> inclusion
18 gadus atpakaļ
Michael Brown
3fbfbad0f7
Avoid calling NULL methods!
18 gadus atpakaļ
Michael Brown
89bcb57201
Update ftp.c to work with Nikhil's TCP stack.
Remove the now-totally-obsolete sockaddr_in field from tcp.h.
18 gadus atpakaļ
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.
18 gadus atpakaļ
Michael Brown
4c3e0fede5
Adjust EEPROM/flash detection to fit expected manufacturing practice.
18 gadus atpakaļ
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.
18 gadus atpakaļ
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.
18 gadus atpakaļ
Michael Brown
e852f8e504
Slightly tidied up console messages.
18 gadus atpakaļ
Michael Brown
cb883b3faf
Change some debugging messages to use DBG()
18 gadus atpakaļ
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.
18 gadus atpakaļ
Michael Brown
d041d74054
Tied NVO commands into the human-interactable settings code that I
completely forgot I'd written ages ago.
18 gadus atpakaļ
Michael Brown
6842dd3222
Handle TargetAddress
18 gadus atpakaļ
Michael Brown
67577556a2
Handle strings as complete units, instead of a byte at a time.
18 gadus atpakaļ
Michael Brown
3a7d762c1c
Add iscsi_rx_buffered_data() and supporting infrastructure.
18 gadus atpakaļ
Michael Brown
16b81e442f
Added more debug messages
18 gadus atpakaļ
Michael Brown
d9f32726b4
Added quick and dirty commands for testing the new NVO code.
18 gadus atpakaļ
Michael Brown
6b45947a59
Added debug statements
18 gadus atpakaļ
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.
18 gadus atpakaļ
Michael Brown
ab4e1dba3f
Added nvo_save()
18 gadus atpakaļ
Michael Brown
cc9bcb99a0
Add the concept of a fragment list for non-volatile stored options.
18 gadus atpakaļ
Michael Brown
f944737045
Fixed two logic errors that were cancelling each other out.
18 gadus atpakaļ