aboutsummaryrefslogtreecommitdiff
path: root/src/hci
AgeCommit message (Collapse)AuthorFilesLines
2016-03-08[infiniband] Add "ibstat" commandMichael Brown1-0/+79
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-03-05[legal] Relicense files under GPL2_OR_LATER_OR_UBDLMichael Brown1-1/+5
Relicense files with kind permission from Stefan Hajnoczi <stefanha@redhat.com> alongside the contributors who have already granted such relicensing permission. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-03-05[build] Fix the REQUIRE_SYMBOL mechanismMichael Brown1-0/+3
At some point in the past few years, binutils became more aggressive at removing unused symbols. To function as a symbol requirement, a relocation record must now be in a section marked with @progbits and must not be in a section which gets discarded during the link (either via --gc-sections or via /DISCARD/). Update REQUIRE_SYMBOL() to generate relocation records meeting these criteria. To minimise the impact upon the final binary size, we use existing symbols (specified via the REQUIRING_SYMBOL() macro) as the relocation targets where possible. We use R_386_NONE or R_X86_64_NONE relocation types to prevent any actual unwanted relocation taking place. Where no suitable symbol exists for REQUIRING_SYMBOL() (such as in config.c), the macro PROVIDE_REQUIRING_SYMBOL() can be used to generate a one-byte-long symbol to act as the relocation target. If there are versions of binutils for which this approach fails, then the fallback will probably involve killing off REQUEST_SYMBOL(), redefining REQUIRE_SYMBOL() to use the current definition of REQUEST_SYMBOL(), and postprocessing the linked ELF file with something along the lines of "nm -u | wc -l" to check that there are no undefined symbols remaining. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-03-03[settings] Use generic jump scrolling abstractionMichael Brown1-196/+155
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-03-03[menu] Abstract out the generic concept of a jump scrollerMichael Brown2-65/+171
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-03-02[legal] Relicense files under GPL2_OR_LATER_OR_UBDLMichael Brown2-2/+10
These files cannot be automatically relicensed by util/relicense.pl since they either contain unusual but trivial contributions (such as the addition of __nonnull function attributes), or contain lines dating back to the initial git revision (and so require manual knowledge of the code's origin). Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-03-02[legal] Relicense files under GPL2_OR_LATER_OR_UBDLMichael Brown2-2/+10
Relicence files with kind permission from the following contributors: Alex Williamson <alex.williamson@redhat.com> Eduardo Habkost <ehabkost@redhat.com> Greg Jednaszewski <jednaszewski@gmail.com> H. Peter Anvin <hpa@zytor.com> Marin Hannache <git@mareo.fr> Robin Smidsrød <robin@smidsrod.no> Shao Miller <sha0.miller@gmail.com> Thomas Horsten <thomas@horsten.com> Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-03-02[legal] Relicense files under GPL2_OR_LATER_OR_UBDLMichael Brown15-15/+15
Relicense files authored by Dan Lynch while working as an employee of Fen Systems Ltd., with permission from Fen Systems Ltd. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-03-02[legal] Relicense files under GPL2_OR_LATER_OR_UBDLMichael Brown27-27/+131
Relicense files for which I am the sole author (as identified by util/relicense.pl). Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-03-02[mucurses] Add missing FILE_LICENCE declarationsMichael Brown6-0/+12
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-02-16[libc] Rewrite string functionsMichael Brown1-1/+1
Some of the C library string functions have an unknown provenance. Reimplement all such functions to avoid potential licensing uncertainty. Remove the inline-assembler versions of strlen(), memswap(), and strncmp(); these save a minimal amount of space (around 40 bytes in total) and are not performance-critical. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-02-11[build] Allow setting help text URI to be customised via config/branding.hMichael Brown1-2/+1
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-02-11[build] Allow error message URI to be customised via config/branding.hMichael Brown1-2/+3
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2015-02-11[build] Use PRODUCT_SHORT_NAME for end-user visible stringsMichael Brown2-2/+4
Use PRODUCT_SHORT_NAME instead of a hardcoded "iPXE" for strings which are typically shown in the user interface. Note that this only allows for customisation of the user interface. Where the "iPXE" string serves a technical purpose (such as in the HTTP User-Agent), the string cannot be customised. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-10-23[ping] Allow "ping" command output to be inhibitedMichael Brown1-1/+5
Originally-implemented-by: Cedric Levasseur <cyr-ius@ipocus.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-10-23[ping] Allow termination after a specified number of packetsMichael Brown1-1/+6
Add the "-c <count>" option to the "ping" command, allowing for automatic termination after a specified number of packets. When a number of packets is specified: - if a serious error (i.e. length mismatch or content mismatch) occurs, then the ping will be immediately terminated with the relevant status code; - if at least one response is received successfully, and all errors are non-serious (i.e. timeouts or out-of-sequence responses), then the ping will be terminated after the final response (or timeout) with a success status; - if no responses are received successfully, then the ping will be terminated after the final timeout with ETIMEDOUT. If no number of packets is specified, then the ping will continue until manually interrupted. Originally-implemented-by: Cedric Levasseur <cyr-ius@ipocus.net> Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-08-19[readline] Add CTRL-W shortcut to remove a wordMarin Hannache1-1/+35
Signed-off-by: Marin Hannache <git@mareo.fr> Modified-by: Michael Brown <mcb30@ipxe.org> Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-08-06[readline] Ensure cursor is visible when prompting for inputMichael Brown1-0/+3
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-04-27[cmdline] Add "profstat" command to display profiling statisticsMichael Brown1-0/+70
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-03-13[console] Fix display of characters with top bit setMichael Brown1-1/+1
Inhibit implicit sign-padding of characters with the top bit set (e.g. accented characters), which confuses the mucurses library by colliding with the bits used to store character attributes and colours. Reported-by: Marc Delisle <Marc.Delisle@cegepsherbrooke.qc.ca> Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-03-10[image] Add "--timeout" parameter to image downloading commandsMichael Brown4-9/+22
iPXE will detect timeout failures in several situations: network link-up, DHCP, TCP connection attempts, unacknowledged TCP data, etc. This does not cover all possible circumstances. For example, if a connection to a web server is successfully established and the web server acknowledges the HTTP request but never sends any data in response, then no timeout will be triggered. There is no timeout defined within the HTTP specifications, and the underlying TCP connection will not generate a timeout since it has no way to know that the HTTP layer is expecting to receive data from the server. Add a "--timeout" parameter to "imgfetch", "chain", etc. If no progress is made (i.e. no data is downloaded) within the timeout period, then the download will be aborted. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-03-02[cmdline] Add the "ipstat" commandMichael Brown1-0/+70
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-02-26[params] Use reference counters for form parameter listsMichael Brown1-2/+4
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-01-22[cmdline] Always clear screen after reconfiguring consoleMichael Brown1-0/+5
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-01-22[cmdline] Add margin options to the "console" commandMichael Brown1-0/+8
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2014-01-22[cmdline] Rename "console" command's --bpp option to --depthMichael Brown1-2/+2
Rename the "--bpp" option to "--depth", to free up the single-letter option "-b" for "--bottom" in preparation for adding margin support. This does not break backwards compatibility with documented features, since the "console" command has not yet been documented. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-12-09[cmdline] Add the "colour" and "cpair" commandsMichael Brown1-0/+125
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-12-09[mucurses] Use centralised concept of colour pairsMichael Brown4-35/+11
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-12-06[console] Allow consoles to update the recorded console sizeMichael Brown1-4/+1
Provide a mechanism for consoles to update the recorded console width and height, and use this width and height to provide the curses COLS and LINES variables. We choose not to use ANSI escape sequences to obtain the width and height, for two reasons: - iPXE's model is that all output is sent to all consoles; we could therefore end up with multiple consoles reporting conflicting widths and heights - when a serial console is in use, we probably don't want to resize the output shown on the BIOS console to match the size of the serial console, since it's likely that the serial console is in use only for debugging. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-12-06[menu] Adapt user interface to fit display sizeMichael Brown1-8/+8
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-12-06[login] Adapt user interface to fit display sizeMichael Brown1-7/+7
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-12-06[settings] Adapt user interface to fit display sizeMichael Brown1-29/+44
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-12-05[settings] Allow for multiple definitions of each predefined settingMichael Brown1-2/+10
Allow for multiple setting definitions with the same name but different scopes and tags. For example, allow for a "filename" setting with default scope and tag value 67 (for DHCPv4) and a corresponding "filename" setting with IPv6 scope and tag value 59 (for DHCPv6). Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-12-05[settings] Explicitly separate the concept of a completed fetched settingMichael Brown3-45/+41
The fetch_setting() family of functions may currently modify the definition of the specified setting (e.g. to add missing type information). Clean up this interface by requiring callers to provide an explicit buffer to contain the completed definition of the fetched setting, if required. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-12-02[menu] Hide cursor when displaying menuMichael Brown1-0/+1
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-12-02[settings] Hide cursor when not actively editing a settingMichael Brown1-0/+2
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-12-02[mucurses] Implement curs_set() to control cursor visibilityMichael Brown3-0/+17
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-11-28[cmdline] Add "console" command to configure consoleMichael Brown1-0/+125
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-11-28[mucurses] Use "<ESC>[2J" ANSI escape sequence to clear screenMichael Brown2-11/+32
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-11-07[cmdline] Generate command option help text automaticallyMichael Brown17-68/+70
Generate the command option help text automatically from the list of defined options. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-11-05[cmdline] Make "dhcp" command a synonym for "ifconf"Michael Brown2-49/+2
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-11-05[cmdline] Add "ifconf" commandMichael Brown1-0/+59
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-11-05[cmdline] Allow "if<xxx>" commands to take optionsMichael Brown4-52/+121
Allow commands implemented using ifcommon_exec() to accept command-specific options. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-11-01[cmdline] Rewrite "sync" command to use monojob_wait()Michael Brown1-2/+2
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-11-01[parseopt] Add parse_timeout()Michael Brown4-14/+12
Parsing a timeout value (specified in milliseconds) into an internal timeout value measured in timer ticks is a common operation. Provide a parse_timeout() value to carry out this conversion automatically. Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-10-21[cmdline] Add "ping" commandMichael Brown1-0/+100
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-09-25[cmdline] Add "nstat" commandMichael Brown1-0/+69
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-08-19[cmdline] Add "params" and "param" commands to manage form parameter listsMichael Brown1-0/+162
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-08-05[cmdline] Add "pciscan" command to allow iteration over PCI devicesMichael Brown1-0/+114
Signed-off-by: Michael Brown <mcb30@ipxe.org>
2013-08-01[cmdline] Add "inc" commandMichael Brown1-0/+72
The "inc" command allows the numeric value of a setting to be incremented, allowing for the construction of simple loops within an iPXE script. Signed-off-by: Michael Brown <mcb30@ipxe.org>