summaryrefslogtreecommitdiffstats
path: root/src/core
Commit message (Collapse)AuthorAgeFilesLines
* [PXEXT] Avoid queueing zero-length buffers in posix_io.cMichael Brown2008-03-251-6/+12
| | | | | read_user() assumes that zero-length buffers don't exist, and optimises around this.
* [Settings] Remove assumption that all settings have DHCP tag valuesMichael Brown2008-03-253-292/+202Star
| | | | | | | | | | | | 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.
* [PXEXT] Avoid returning a false EOF when we have an empty buffer queuedMichael Brown2008-03-251-1/+3
|
* [Settings] Add named setting for next-serverMichael Brown2008-03-241-0/+6
| | | | | It's probably easier to have a named setting for next-server, rather than to explain to people why they need to pretend it is option 175.3.
* [Settings] copy_settings() should not fail if some settings are missing!Michael Brown2008-03-241-39/+17Star
|
* [Settings] Bugfix: store_setting() now applies changes even on root blockMichael Brown2008-03-221-3/+2Star
|
* [Settings] Implement simple_settings backed with extensible DHCP optionsMichael Brown2008-03-221-18/+38
|
* [Settings] DHCP is now working using the new settings API.Michael Brown2008-03-211-8/+6Star
|
* [Settings] Migrate DHCP and NVO code to the new settings API (untested)Michael Brown2008-03-212-90/+227
|
* [Settings] Use a settings applicator in ibft.cMichael Brown2008-03-211-31/+46
|
* [IPv4] Add a config option for IPv4Michael Brown2008-03-211-11/+12
| | | | | IPv4 may not always be dragged into the link, so add a specific configuration option for it.
* [Settings] Convert code in src/usr to use settings API.Michael Brown2008-03-211-4/+31
|
* [Settings] Introduce settings applicators.Michael Brown2008-03-211-9/+102
| | | | | | | Convert DHCP option applicators in dns.c and iscsi.c to settings applicators. Kill off DHCP option applicators.
* [Settings] Add settings hierarchyMichael Brown2008-03-201-154/+227
| | | | | | | | 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.
* [Settings] Start revamping the configuration settings API.Michael Brown2008-03-201-301/+606
| | | | | | | | | | | | | | | | 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.
* [Settings] Allow named settings to have their type specified explicitlyMichael Brown2008-03-181-45/+48
| | | | Allow setting names such as "ip:hex".
* [Timers] Initialise timers on first useMichael Brown2008-03-181-27/+25Star
| | | | | | | Timers are sometimes required before the call to initialise(), so we cannot rely on initialise() to set up the timers before use. Also fix a potential integer overflow issue in generic_currticks_udelay()
* [Timers] Miscellaneous timer system fixesMichael Brown2008-03-182-23/+38
| | | | | | | | | Add missing comments to timer code. Lock system if no suitable timer source is found. Fix initialisation order so that timers are initialised before code that needs to use them.
* [Settings] Allow encapsulated options to be specified as named settingsMichael Brown2008-03-181-4/+10
| | | | | | Allow encapsulated options to be specified as e.g. "175.3". As a side-effect, change the separator character for the type field from "." to ":"; for example, the IP address pseudo-option is now "175.3:ipv4".
* [Settings] Add int16, int32 and hex-string configuration setting typesMichael Brown2008-03-181-5/+131
| | | | | | | | | | Add parse and display routines for 16-bit and 32-bit integer configuration settings. Add parse and display routines for hex-string configuration settings. Assume hex-string as a configuration setting type if no type is explicitly specified.
* [libc] Fix a validation bug in strtoul()Michael Brown2008-03-181-1/+1
| | | | | strtoul() was accepting the characters immediately above ASCII 0..9 as valid hex digits, due to a missing comparison.
* [Settings] show_setting() functions return snprintf()-style length.Michael Brown2008-03-181-10/+7Star
| | | | | | 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.
* Merge branch 'xl0-timer'Michael Brown2008-03-106-31/+103
|\
| * fix the rdtsc namimgAlexey Zaytsev2008-03-021-2/+2
| |
| * CleanupsAlexey Zaytsev2008-03-021-6/+2Star
| | | | | | | | | | | | | | | | Replace a printf with a DBG in timer_rtdsc.c Replace a printf in timer.c with assert Return proper error codes from timer drivers Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
| * Modify gPXE core and drivers to work with the new timer subsystemAlexey Zaytsev2008-03-024-4/+4
| | | | | | | | Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
| * Introduce the new timer subsystem.Alexey Zaytsev2008-03-023-27/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Timer subsystem initialization code in core/timer.c Split the BIOS and RTDSC timer drivers from i386_timer.c Split arch/i386/firmware/pcbios/bios.c into the RTSDC timer driver and arch/i386/core/nap.c Split the headers properly: include/unistd.h - delay functions to be used by the gPXE core and drivers. include/gpxe/timer.h - the fimer subsystem interface to be used by the timer drivers and currticks() to be used by the code gPXE subsystems. include/latch.h - removed include/timer.h - scheduled for removal. Some driver are using currticks, which is only for core subsystems. Signed-off-by: Alexey Zaytsev <alexey.zaytsev@gmail.com>
* | [Command] Add "sanboot" command.Michael Brown2008-03-041-0/+3
|/
* Remove reference to COFF support. I can find no trace of ever having ↵Michael Brown2008-02-211-3/+0Star
| | | | supported it.
* If no shell was requested via Ctrl-B, exit immediately if boot fails.Michael Brown2008-02-111-6/+3Star
|
* Add XFER_INIT() macro.Michael Brown2008-01-221-7/+1Star
|
* Make seek information part of the xfer metadata, rather than an entirelyMichael Brown2008-01-086-123/+61Star
| | | | | | | separate xfer method. Add missing .alloc_iob entries to several xfer_interface_operations structures.
* Fix a minor logical error in posix_io.cMichael Brown2007-12-071-1/+1
|
* Add missing format qualifierMichael Brown2007-12-061-1/+1
|
* Reallocate memory for bitmaps only when necessary.Michael Brown2007-11-291-7/+9
|
* Add RFC2090 TFTP multicast support.Michael Brown2007-11-281-0/+97
|
* Added definition of a UUID and uuid_ntoa() (for debugging), andMichael Brown2007-11-211-0/+48
| | | | implemented smbios_get_uuid().
* Don't get stuck in an infinite loop on negative integers!Michael Brown2007-09-211-4/+5
|
* Add fls() for non-constant values.Michael Brown2007-09-211-0/+10
|
* Merge commit 'holger/strings'Michael Brown2007-08-232-252/+284
|\
| * move strndup back to string.c - used by strdupHolger Lubitz2007-08-021-0/+15
| |
| * move strndup back to string.c - used by strdupHolger Lubitz2007-08-021-15/+0Star
| |
| * memscan does not alter the mem pointer - make it constHolger Lubitz2007-08-021-1/+1
| |
| * stripped down version of string.c containing only the used functionsHolger Lubitz2007-08-021-251/+0Star
| |
| * put unused functions from string.c into separate fileHolger Lubitz2007-08-021-0/+288
| |
| * Merge branch 'master' into stringsHolger Lubitz2007-08-025-21/+142
| |\
| * | make bcopy use memmoveHolger Lubitz2007-07-291-6/+1Star
| | |
* | | Add iBFT code derived from IBM document.Michael Brown2007-08-101-0/+325
| | | | | | | | | | | | | | | No Microsoft intellectual property was harmed in the production of this code.
* | | Set current working URI to be that of the executable image whenMichael Brown2007-08-071-3/+12
| | | | | | | | | | | | | | | executing any image, not just a script. (This will enable pxelinux to use relative URIs, should it wish to.)
* | | Make read_user() non-blocking, and add select() call.Michael Brown2007-08-041-35/+59
| | |