david/ipxe
Archived
1
0
This repository has been archived on 2020-12-06. You can view files and clone it, but cannot push or open issues or pull requests.
ipxe/src/core
Michael Brown 50810955e9 [console] Call cpu_nap() only if there is no input waiting
Avoid calling cpu_nap() until after we have determined that there is
no input ready to read.  This avoids delaying for one timer interrupt
(~50ms) in the case of

  if ( iskey() )
     char = getkey()

which happens to be present in monojob.c, which is where we spend most
of our time looping (e.g. during any download).

This should eliminate the irritating tendency of gPXE to lose
keypresses.

Discovered on a Dell system where the serial port seems to send in a
constant stream of 0xff characters; this wouldn't be a problem in
itself except that each one triggers the 50ms delay (as mentioned
above), which really kills performance.
2008-06-11 12:06:10 +01:00
..
abft.c Added support for draft version of the AoE Boot Firmware Table. 2007-07-31 14:05:03 +01:00
acpi.c Added generic function for calculating ACPI table checksum 2006-08-27 22:02:08 +00:00
ansiesc.c Added support for interpreting ANSI escape sequences on behalf of 2006-12-18 00:01:30 +00:00
asprintf.c Added [v]asprintf() 2007-06-03 01:50:03 +00:00
basename.c Added dirname() 2007-06-03 01:51:10 +00:00
bitmap.c Reallocate memory for bitmaps only when necessary. 2007-11-29 19:10:10 +00:00
bitops.c Don't get stuck in an infinite loop on negative integers! 2007-09-21 01:14:44 +01:00
btext.c Dead code removal. 2007-07-14 15:42:26 +01:00
config.c [ELF] Add ability to boot ELF images generated by wraplinux and mkelfImage 2008-06-09 13:50:00 +01:00
console.c [console] Call cpu_nap() only if there is no input waiting 2008-06-11 12:06:10 +01:00
cpio.c Add code for constructing single-file cpio archives on the fly 2007-08-01 23:10:30 +01:00
cwuri.c uri_get(NULL) and uri_put(NULL) are explicitly allowed. 2007-08-02 20:26:49 +01:00
debug.c Add missing format qualifier 2007-12-06 21:38:23 +00:00
device.c Add "name" field to struct device to allow human-readable hardware device 2007-01-10 04:22:09 +00:00
downloader.c Make seek information part of the xfer metadata, rather than an entirely 2008-01-08 16:46:55 +00:00
errno.c Split strerror() out from errno.c 2006-12-20 03:49:36 +00:00
exec.c Use stdio.h instead of vsprintf.h 2007-01-19 01:13:12 +00:00
filter.c Make seek information part of the xfer metadata, rather than an entirely 2008-01-08 16:46:55 +00:00
gdbstub.c [GDB] Add GDB stub for remote debugging 2008-06-05 00:45:50 +01:00
getkey.c Modify gPXE core and drivers to work with the new timer subsystem 2008-03-02 03:41:10 +03:00
getopt.c Use stdio.h instead of vsprintf.h 2007-01-19 01:13:12 +00:00
hw.c Make seek information part of the xfer metadata, rather than an entirely 2008-01-08 16:46:55 +00:00
i82365.c Initial revision 2005-03-08 18:53:11 +00:00
ibft.c [Settings] Remove assumption that all settings have DHCP tag values 2008-03-25 20:46:16 +00:00
image.c Set current working URI to be that of the executable image when 2007-08-07 06:50:12 -07:00
init.c Separated out initialisation functions from startup/shutdown functions. 2007-07-03 23:09:56 +01:00
interface.c Add debugging 2007-05-18 15:26:44 +00:00
iobuf.c Add per-file error identifiers 2007-07-24 17:11:31 +01:00
job.c Unplug before sending close() message, to avoid screwing up interfaces 2007-07-10 06:25:30 +01:00
linebuf.c Update HTTP to use data-xfer interface. 2007-05-29 15:37:09 +00:00
main.c [usr] Offer user a second chance to enter the shell on boot failure 2008-03-26 23:16:20 +00:00
malloc.c Separated out initialisation functions from startup/shutdown functions. 2007-07-03 23:09:56 +01:00
misc.c [libc] Fix a validation bug in strtoul() 2008-03-18 03:14:05 +00:00
monojob.c Display name and status of each file as it is downloaded. 2007-08-03 12:49:21 +01:00
nvo.c [Settings] Remove assumption that all settings have DHCP tag values 2008-03-25 20:46:16 +00:00
open.c Added two lines of code that were completely missing! 2007-07-25 13:32:02 +01:00
pc_kbd.c gcc is rather over-aggressive about optimising out static data structures 2006-04-24 18:31:37 +00:00
pcmcia.c Should be using the generic device probe mechanism, when (if) they 2007-07-03 20:39:30 +01:00
posix_io.c [PXEXT] Avoid queueing zero-length buffers in posix_io.c 2008-03-25 21:10:21 +00:00
process.c Add debug messages to process.c 2007-07-10 06:24:30 +01:00
proto_eth_slow.c Dead code removal. 2007-07-14 15:42:26 +01:00
random.c Modify gPXE core and drivers to work with the new timer subsystem 2008-03-02 03:41:10 +03:00
refcnt.c Make ref_get() return the reference, for cleaner code. 2007-07-08 22:02:45 +01:00
resolv.c Make seek information part of the xfer metadata, rather than an entirely 2008-01-08 16:46:55 +00:00
serial_console.c [Serial] Split serial console from serial driver 2008-06-05 00:45:43 +01:00
serial.c [Serial] Split serial console from serial driver 2008-06-05 00:45:43 +01:00
settings.c [Settings] Expose SMBIOS via settings API 2008-03-28 15:35:06 +00:00
string.c move strndup back to string.c - used by strdup 2007-08-02 01:48:20 +02:00
stringextra.c move strndup back to string.c - used by strdup 2007-08-02 01:47:31 +02:00
timer.c [Timers] Initialise timers on first use 2008-03-18 15:23:10 +00:00
uri.c convert to zalloc 2007-07-06 20:42:05 +02:00
uuid.c [SMBIOS] Interpret UUIDs as being in network-endian order 2008-05-20 18:41:36 +01:00
vsprintf.c Move [v]ssnprintf() from iscsi.c into vsprintf.c; we need them 2007-05-31 13:26:50 +00:00
xfer.c Add XFER_INIT() macro. 2008-01-22 18:48:47 +00:00