530bbf7cca
Print welcome banner in bold (which will come out as bright white text on the BIOS console, or genuine bold font on a xterm "serial" console), just to prove the concept of the ANSI escape sequence handling.
Michael Brown
2006-12-18 01:31:33 +00:00
8b3a4c9862
Add basic ANSI escape sequence support to BIOS console
Michael Brown
2006-12-18 01:19:38 +00:00
1cd45decc4
Added support for interpreting ANSI escape sequences on behalf of non-ANSI-capable consoles.
Michael Brown
2006-12-18 00:01:30 +00:00
8a45f619a9
Fix building on gas versions that don't auto-insert addr32 prefixes
Michael Brown
2006-12-12 19:07:18 +00:00
a39b111684
Automatically select between the "10" and "16" variants of command set, based on the device size.
Michael Brown
2006-12-12 18:54:35 +00:00
3bd7e479a2
Catch SCSI errors, and work around the start-of-day CHECK CONDITION that some targets send.
Michael Brown
2006-12-12 18:18:54 +00:00
c0ec119ede
Typo
Michael Brown
2006-12-12 16:18:42 +00:00
04c09823bd
Request all the options that we're prepared to do anything with.
Michael Brown
2006-12-12 16:18:20 +00:00
240c9512bb
Added "clear" command
Michael Brown
2006-12-12 15:52:19 +00:00
007ca97f25
Added clear_setting()
Michael Brown
2006-12-12 15:49:46 +00:00
0a26cd2933
Cope with system("").
Michael Brown
2006-12-08 17:07:12 +00:00
69b9048e1a
Added "priority" and "root-path" options
Michael Brown
2006-12-08 16:30:14 +00:00
72b1629cee
Add placeholder ibft.h
Michael Brown
2006-12-08 16:16:21 +00:00
9aa3e10d7c
Use root-path option (as per RFC 4173) rather than filename option to determine iSCSI boot parameters.
Michael Brown
2006-12-08 15:53:49 +00:00
a1af111a87
Also request root-path.
Michael Brown
2006-12-08 15:49:46 +00:00
c343a3a8ee
Including the final (char *)NULL is the responsibility of the caller of execl().
Michael Brown
2006-12-08 09:15:12 +00:00
a77b32aaf6
D'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh
Michael Brown
2006-12-08 03:07:15 +00:00
cc697eeb1f
Added "exit" back in as a standardised command.
Michael Brown
2006-12-08 01:40:06 +00:00
7de5d32ff5
cmdlinelib.c now calls system() rather than doing its own tokenisation (which was extremely heavy on calls to malloc()).
Michael Brown
2006-12-08 01:26:11 +00:00
f3d817d512
Added execv() and system().
Michael Brown
2006-12-08 01:23:11 +00:00
e106a39ce8
Added missing include of stdint.h
Michael Brown
2006-12-08 01:21:13 +00:00
496563071d
Added strdup()
Michael Brown
2006-12-08 00:34:47 +00:00
1e4a838f55
Added missing prototype
Michael Brown
2006-12-08 00:21:08 +00:00
be0cd1cddd
Added a functional version of getopt() and getopt_long(), ready for use in our commands.
Michael Brown
2006-12-07 03:54:57 +00:00
29db66fb51
Add support for non-volatile stored options in the RTL8139 EEPROM.
Michael Brown
2006-12-06 20:45:44 +00:00
2863d1a1de
inet_aton() has a non-traditional return value
Michael Brown
2006-12-06 20:44:29 +00:00
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.
Michael Brown
2006-12-06 19:53:56 +00:00
d2bf7abe75
Added write support for three-wire devices (e.g. the RTL8139 EEPROM)
Michael Brown
2006-12-06 19:51:58 +00:00
ac401f481d
Verify data after writing
Michael Brown
2006-12-06 18:51:31 +00:00
5edb85c8b4
Work around another confused-by-RST bug
Michael Brown
2006-12-06 18:09:33 +00:00
d88832ad7e
Support PXE and iSCSI by default
Michael Brown
2006-12-05 23:26:07 +00:00
b9f9230661
Work around another instance of the port re-use bug.
Michael Brown
2006-12-05 23:15:35 +00:00
8c3d09c564
Tweaked retry messages
Michael Brown
2006-12-05 23:12:54 +00:00
9600af14a3
Added debug messages
Michael Brown
2006-12-05 22:53:49 +00:00
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.
Michael Brown
2006-12-05 22:53:28 +00:00
fcc70c9d60
Ensure that tcp_rx() always frees its received packet buffer.
Michael Brown
2006-12-05 21:23:23 +00:00
28c711b91d
Killed off spurious <stdio.h> inclusion
Michael Brown
2006-12-05 21:16:52 +00:00
3fbfbad0f7
Avoid calling NULL methods!
Michael Brown
2006-12-05 21:09:37 +00:00
89bcb57201
Update ftp.c to work with Nikhil's TCP stack.
Michael Brown
2006-12-05 19:07:47 +00:00
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.
Michael Brown
2006-12-05 17:56:13 +00:00
4c3e0fede5
Adjust EEPROM/flash detection to fit expected manufacturing practice.
Michael Brown
2006-12-05 16:00:06 +00:00
c6060a8fea
Tidy up some more output. The command-line code needs some severe overhauling, but this is not the time to do it.
Michael Brown
2006-12-05 10:27:16 +00:00
e852f8e504
Slightly tidied up console messages.
Michael Brown
2006-12-05 10:14:58 +00:00
cb883b3faf
Change some debugging messages to use DBG()
Michael Brown
2006-12-05 10:01:00 +00:00
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.
Michael Brown
2006-12-05 09:45:39 +00:00
d041d74054
Tied NVO commands into the human-interactable settings code that I completely forgot I'd written ages ago.
Michael Brown
2006-12-05 02:40:03 +00:00
6842dd3222
Handle TargetAddress
Michael Brown
2006-12-05 01:41:32 +00:00
67577556a2
Handle strings as complete units, instead of a byte at a time.
Michael Brown
2006-12-05 01:08:56 +00:00
3a7d762c1c
Add iscsi_rx_buffered_data() and supporting infrastructure.
Michael Brown
2006-12-05 00:39:05 +00:00
16b81e442f
Added more debug messages
Michael Brown
2006-12-04 23:47:44 +00:00
d9f32726b4
Added quick and dirty commands for testing the new NVO code.
Michael Brown
2006-12-04 23:40:35 +00:00
6b45947a59
Added debug statements
Michael Brown
2006-12-04 23:20:56 +00:00
052ef6dc5a
Added nvs_write(). This shares a lot of code in common with nvs_read(); this can probably be optimised down quite a lot.
Michael Brown
2006-12-04 22:06:54 +00:00
ab4e1dba3f
Added nvo_save()
Michael Brown
2006-12-04 22:04:10 +00:00
cc9bcb99a0
Add the concept of a fragment list for non-volatile stored options.
Michael Brown
2006-12-04 21:46:13 +00:00
f944737045
Fixed two logic errors that were cancelling each other out.
Michael Brown
2006-12-04 21:12:52 +00:00
d62c83a350
Migrated etherfabric driver to using generic SPI layer.
Michael Brown
2006-12-04 20:47:51 +00:00
2d8d21fe74
Added the generic block-splitting code to nvs.c
Michael Brown
2006-12-04 19:06:07 +00:00
1961ba44e1
Added generic SPI protocol handler with read and write support.
Michael Brown
2006-12-04 18:32:55 +00:00
946967f09c
Abstracted out part of the concept of an SPI device to a generalised NVS device.
Michael Brown
2006-12-04 18:23:06 +00:00
dc06c895fc
Changed length parameter in SPI methods to be a byte length, rather than a word length.
Michael Brown
2006-12-04 16:09:59 +00:00
931f94dca3
Generalised the SPI abstraction layer to also be able to handle interfaces that don't provide the full flexibility of a bit-bashing interface.
Michael Brown
2006-12-04 15:36:51 +00:00
2e41bfd268
Force syntax-checking on assertions even in non-asserting builds.
Michael Brown
2006-12-04 15:09:57 +00:00
3e0286dee3
Move ANSI C standard prototypes to stdlib.h; leave the gPXE-specific function prototypes (e.g. malloc_dma()) in malloc.h.
Michael Brown
2006-12-02 20:10:21 +00:00
4cd56820ea
Basic non-volatile storage support
Michael Brown
2006-11-29 02:41:08 +00:00
70d4b4f7cf
Make the "drive number" option apply to iSCSI as well as AoE
Michael Brown
2006-11-29 00:27:10 +00:00
3234ef1b0b
Merged changes from Solarflare
Michael Brown
2006-11-28 13:25:23 +00:00
74c41fac06
Create "username" and "password" DHCP options, ready for placing this information in NVS.
Michael Brown
2006-11-28 02:14:20 +00:00
3f0b4d9ed8
Updated to use asynchronous operation model for iSCSI requests
Michael Brown
2006-11-28 00:29:02 +00:00
82342e0b8f
Marked memcmp/strcmp as "pure" functions, to allow gcc to optimise away code such as
Michael Brown
2006-11-27 23:50:24 +00:00
c4677c7e73
Implemented realloc(), and changed the semantics of malloc(0) to allow for realloc(0) being a valid way to free memory.
Michael Brown
2006-11-24 16:51:18 +00:00
6a18721ce8
Fixed off-by-one error
Michael Brown
2006-11-22 04:54:17 +00:00
fdaddd969a
Added "name" field to digest algorithms
Michael Brown
2006-11-21 16:14:50 +00:00
d37f82509f
Added debug statements.
Michael Brown
2006-11-21 16:14:17 +00:00
a9415d3da2
Reduce from 157 to 123 bytes
Michael Brown
2006-11-21 16:01:12 +00:00
c5428303e4
Added generic CHAP layer, independent of iSCSI
Michael Brown
2006-11-21 13:26:59 +00:00
57d539aab0
Made it temporarily possible to call MD5 routines directly from external code, rather than going through the digest layer.
Michael Brown
2006-11-15 04:22:22 +00:00
ea97fe42dd
Note to self: do not write code late at night
Michael Brown
2006-11-15 04:16:26 +00:00
5753f2c58b
May as well add octal support to strtoul()
Michael Brown
2006-11-15 02:57:24 +00:00
bbfb2e02fd
Fixed endp bug in strtoul()
Michael Brown
2006-11-15 02:54:28 +00:00
65ff5357f1
Extend strtoul() to cope with hex as well as decimal. Doesn't cope with octal yet, but we can probably live without that.
Michael Brown
2006-11-15 02:52:06 +00:00
fedc186fd7
Split login into security negotation and operational parameter negotiation phases, to allow inclusion of CHAP authentication.
Michael Brown
2006-10-03 09:17:38 +00:00
b16de6ae66
Inhibit compiler warnings on DBG() when building a non-debug object, while retaining the format string checking.
Michael Brown
2006-09-27 11:09:56 +00:00
88e38fa148
We don't actually have a stdio.h header file. Our printf() functions are defined in vsprintf.h. (This may change, since vsprintf.h is a non-standard name, but for now it's the one to use.)
Michael Brown
2006-09-27 10:58:14 +00:00
6ac78f6aff
added stdio.h to includes for DBG compilation
Marty Connor
2006-09-27 05:57:06 +00:00
1da4faa896
include stdio.h to suppress printf warning, general warnings fixups
Marty Connor
2006-09-27 04:04:55 +00:00
757618edea
eth_ntoa and warnings cleanup
Marty Connor
2006-09-27 03:05:21 +00:00
cd8168b071
eth_ntoa cleanup. still has warnings. needs work.
Marty Connor
2006-09-27 03:00:21 +00:00
727a88709e
eth_ntoa and warnings cleanup
Marty Connor
2006-09-27 02:18:07 +00:00
0d1087a5de
eth_ntoa and warnings cleanup
Marty Connor
2006-09-27 02:07:59 +00:00