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

131 Commits

Author SHA1 Message Date
Stefan Hajnoczi 6e670b5f38 [GDB] Remote debugging over UDP
This commit implements GDB over UDP.  Using UDP is more complex than
serial and has required some restructuring.

The GDB stub is now built using one or both of GDBSERIAL and GDBUDP
config.h options.

To enter the debugger, execute the gPXE shell command:
gdbstub <transport> [<options>...]

Where <transport> is "serial" or "udp".  For "udp", the name of a
configured network device is required:
gdbstub udp net0

The GDB stub listens on UDP port 43770 by default.
2008-06-30 19:19:48 +01:00
Michael Brown ddf5c8d4d3 [cmdline] Fix image command-line construction for zero-length argument lists
This fixes a bug introduced in commit 4c85017.
2008-06-27 21:50:18 +01:00
Michael Brown 4c85017968 [cmdline] Remove arbitrary limit on the length of image command lines 2008-06-12 02:12:10 +01:00
Michael Brown 75965c9c6e [iSCSI] Produce meaningful errors on login failure
Return the most appropriate of EACCES, EPERM, ENODEV, ENOTSUP, EIO or
EINVAL depending on the exact error returned by the target, rather than
just always returning EPERM.

Also, ensure that error strings exist for these errors.
2008-06-03 23:47:20 +01:00
Michael Brown 3475b693b7 [HCI] Display "Not an executable image" when appropriate
PXE is a catch-all image format with no signature checks.  If an
unsupported image file is loaded, it will be treated as a PXE image.  In
most cases, the image will be too large to be loaded as a PXE image (which
has to fit in base memory), so the error returned to the user will be that
the segment could not fit within the memory region.

Add an explicit check to pxe_image.c to reject images larger than base
memory with ENOEXEC.

Add ENOEXEC to the error string table.
2008-04-08 16:28:00 +01:00
Michael Brown 978996cdae [usr] Offer user a second chance to enter the shell on boot failure 2008-03-26 23:16:20 +00:00
Michael Brown 92d15eff30 [Settings] Remove assumption that all settings have DHCP tag values
Allow for settings to be described by something other than a DHCP option
tag if desirable.  Currently used only for the MAC address setting.

Separate out fake DHCP packet creation code from dhcp.c to fakedhcp.c.

Remove notion of settings from dhcppkt.c.

Rationalise dhcp.c to use settings API only for final registration of the
DHCP options, rather than using {store,fetch}_setting throughout.
2008-03-25 20:46:16 +00:00
Michael Brown 260b93bb72 [Settings] Add settings hierarchy
Add the notion of the settings hierarchy, complete with
register/unregister routines.

Rename set->store and get->fetch to avoid naming conflicts with get/put
as used in reference counting.
2008-03-20 21:01:32 +00:00
Michael Brown a48b4d9948 [Settings] Start revamping the configuration settings API.
Add the concept of an abstract configuration setting, comprising a (DHCP)
tag value and an associated byte sequence.

Add the concept of a settings namespace.

Add functions for extracting string, IPv4 address, and signed and
unsigned integer values from configuration settings (analogous to
dhcp_snprintf(), dhcp_ipv4_option(), etc.).

Update functions for parsing and formatting named/typed options to work
with new settings API.

Update NVO commands and config UI to use new settings API.
2008-03-20 04:06:07 +00:00
Michael Brown 5a08b434c7 [Settings] show_setting() functions return snprintf()-style length.
show_setting() and related functions now return an "actual length" in the
style of snprintf().  This is to allow consumers to allocate buffers large
enough to hold the formatted setting.
2008-03-18 00:48:23 +00:00
Michael Brown 3e781eb87f Merge branch 'xl0-timer' 2008-03-10 13:02:53 +00:00
Michael Brown b08a6f5300 [Command] Add "sanboot" command. 2008-03-04 17:59:26 +00:00
Alexey Zaytsev a1572e0ab0 Modify gPXE core and drivers to work with the new timer subsystem
Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
2008-03-02 03:41:10 +03: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
Michael Brown 6e46dddc2c Print multiple commands per line in help 2007-08-03 01:03:21 +01:00
Michael Brown 710c6c1be1 Error message cleanups. 2007-08-02 20:27:50 +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 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
Michael Brown 0d568ac219 Make has_key() a static inline, rather than omitting it altogether. 2007-07-28 22:55:17 +01:00
Michael Brown 3e816c3d56 Revert "make bool m_echo static" - I suspect this to be defined by spec
This reverts commit 3cb133d27d.
2007-07-28 22:52:20 +01:00
Holger Lubitz 3cb133d27d make bool m_echo static 2007-07-27 21:47:28 +02:00
Holger Lubitz ac1e0aa63e remove has_key by #if 0'ing out 2007-07-27 21:46:21 +02:00
Holger Lubitz 0e0843a872 make _wgetc static 2007-07-27 21:45:04 +02:00
Holger Lubitz 9280f2649a make struct _softlabelkeys *slks static 2007-07-27 21:38:45 +02:00
Holger Lubitz 97aade0d1f make imgfill_cmdline static 2007-07-27 21:35:17 +02:00
Michael Brown 9aa61ad5a2 Add per-file error identifiers 2007-07-24 17:11:31 +01:00
Marty Connor c77704cb60 Warnings purge: src/{crypto,hci,net} 2007-07-03 13:20:22 -04:00
Michael Brown e4c9c91d6e Removed debugging statements that should not have been checked in. 2007-06-28 17:57:10 +01:00
Michael Brown 4b08f4cf0f Quick hack to get image booting working again 2007-06-28 17:55:29 +01:00
Michael Brown 070c55a838 Added EPIPE description. 2007-05-26 15:05:31 +00:00
Michael Brown 160e66dbb9 Typo 2007-03-20 18:55:00 +00:00
Michael Brown cde6d776e3 Handle structured error codes. 2007-01-19 13:52:50 +00:00
Michael Brown f4c1e564a1 vsprintf.h is gPXE-specific; move it to include/gpxe 2007-01-19 01:17:23 +00:00
Michael Brown 73b09ecba6 Use stdio.h instead of vsprintf.h 2007-01-19 01:13:12 +00:00
Michael Brown 5ff23aa406 Include stdlib.h rather than malloc.h 2007-01-18 20:06:03 +00:00
Michael Brown 90d859c34b Add ETIMEDOUT 2007-01-15 02:46:56 +00:00
Michael Brown 76aa9ad07d Make TCP give up immediately when it receives -ENETUNREACH from
tcpip_tx().  This avoids the irritating wait when you accidentally type
"kernel pxelinux.0" before bringing up the network interface.

Add ENETUNREACH to strerror()'s list.
2007-01-14 16:47:03 +00:00
Michael Brown 8edf8f6fa8 Add the "initrd" command 2007-01-14 16:09:48 +00:00
Michael Brown c088ecf042 Make "boot" a synonym for "imgexec", to match grub 2007-01-14 00:08:13 +00:00
Michael Brown beb941ed81 Rename "boot" to "autoboot" 2007-01-14 00:06:23 +00:00
Michael Brown 63386f4455 Added ENOENT, since HTTP 404 translates to it 2007-01-12 19:14:01 +00:00
Michael Brown 9952df9b52 Add "dhcp" command 2007-01-12 09:53:28 +00:00
Michael Brown 83559c668a Don't print "<NULL>" when we use imgautoselect(). 2007-01-12 08:59:25 +00:00
Michael Brown 2876197306 Allow "imgexec" with no arguments to boot the file that was loaded with
"kernel".
2007-01-12 07:32:46 +00:00