Michael Brown
d24b80acf2
Added network interface management commands
2007-01-10 01:55:07 +00:00
Michael Brown
7b9617f5df
Add device to hierarchy before calling the driver's probe() function; this
...
way everything remains consistent if the probe() ends up creating child
devices.
2007-01-08 01:29:51 +00:00
Michael Brown
0063725d28
Minimal hotplug support: provide a facility for notifying persistent
...
reference holders that their reference is about to become invalid.
2007-01-04 03:08:16 +00:00
Michael Brown
2494625702
Added auto-colourising DBGC() macro
2006-12-29 03:05:21 +00:00
Michael Brown
b6def29f2b
Keep running the main processing loop while waiting for input.
2006-12-27 22:59:40 +00:00
Michael Brown
73e3e02367
Fix prototype of random() and move to stdlib.h
2006-12-22 01:44:51 +00:00
Michael Brown
fbc7b4dfa8
Add iSCSI initiator IQN as a setting
2006-12-21 16:08:37 +00:00
Michael Brown
839d425c6e
Added missing header
2006-12-20 23:43:44 +00:00
Michael Brown
ae728f8d23
Some key sequences seem to end with a tilde
2006-12-20 22:12:25 +00:00
Michael Brown
791c7d3bf4
Added code to interpret ANSI keypress sequences into KEY_XXX constants.
2006-12-20 21:56:50 +00:00
Michael Brown
c21502acad
No longer needed
2006-12-20 07:13:46 +00:00
Michael Brown
84202d89f0
Split the (quick hack) boot logic out from main.c to autoboot.c, add a
...
"boot" command to attempt booting from within the command shell, fall back
to shell if boot fails for any reason.
2006-12-20 07:04:08 +00:00
Michael Brown
8f9336e0c1
Add "config" command to access config UI
2006-12-20 05:37:33 +00:00
Michael Brown
2b97d2ebc5
8-bit integers are 1 byte long, not 8...
2006-12-20 05:04:17 +00:00
Michael Brown
b93ff48173
Added descriptive text for settings and setting types, and display it in
...
the option config UI.
2006-12-20 04:58:26 +00:00
Michael Brown
35edecac34
Move {show,set,clear}_setting() to {show,set,clear}_named_setting().
...
Introduce new {show,set,clear}_setting() that take a struct setting *
rather than a const char *.
set_setting() handles calling clear_setting() when appropriate, so that
individual setting types don't have to check for empty strings.
2006-12-20 04:20:13 +00:00
Michael Brown
7766e34ed1
Split strerror() out from errno.c
2006-12-20 03:49:36 +00:00
Michael Brown
84a2b886e1
Split error-message table portions of errno.h out to gpxe/errortab.h
2006-12-20 03:40:48 +00:00
Michael Brown
4f506328ad
Use -ENOSPC rather than -ENOMEM, to distinguish the cases "generic out of
...
memory" and "no space left for DHCP options"
2006-12-20 03:33:37 +00:00
Michael Brown
637a891264
Fix prototype of sleep() and move it to unistd.h
2006-12-20 03:14:59 +00:00
Michael Brown
ec5789bf0c
Select required commands via config.h
2006-12-20 00:39:06 +00:00
Michael Brown
38ad706b08
Use new minimal shell
2006-12-20 00:26:01 +00:00
Michael Brown
19e1d674d3
Catch attempts to print NULL strings
2006-12-19 22:33:42 +00:00
Michael Brown
70d20c4e7a
Use common symbols to avoid dragging in getopt.o unless a getopt-using
...
command is linked in.
2006-12-19 16:27:15 +00:00
Michael Brown
1cd45decc4
Added support for interpreting ANSI escape sequences on behalf of
...
non-ANSI-capable consoles.
2006-12-18 00:01:30 +00:00
Michael Brown
007ca97f25
Added clear_setting()
2006-12-12 15:49:46 +00:00
Michael Brown
0a26cd2933
Cope with system("").
2006-12-08 17:07:12 +00:00
Michael Brown
69b9048e1a
Added "priority" and "root-path" options
2006-12-08 16:30:14 +00:00
Michael Brown
a77b32aaf6
D'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh d'oh
2006-12-08 03:07:15 +00:00
Michael Brown
f3d817d512
Added execv() and system().
2006-12-08 01:23:11 +00:00
Michael Brown
496563071d
Added strdup()
2006-12-08 00:34:47 +00:00
Michael Brown
be0cd1cddd
Added a functional version of getopt() and getopt_long(), ready for use
...
in our commands.
2006-12-07 03:54:57 +00:00
Michael Brown
2863d1a1de
inet_aton() has a non-traditional return value
2006-12-06 20:44:29 +00:00
Michael Brown
d041d74054
Tied NVO commands into the human-interactable settings code that I
...
completely forgot I'd written ages ago.
2006-12-05 02:40:03 +00:00
Michael Brown
16b81e442f
Added more debug messages
2006-12-04 23:47:44 +00:00
Michael Brown
d9f32726b4
Added quick and dirty commands for testing the new NVO code.
2006-12-04 23:40:35 +00:00
Michael Brown
ab4e1dba3f
Added nvo_save()
2006-12-04 22:04:10 +00:00
Michael Brown
cc9bcb99a0
Add the concept of a fragment list for non-volatile stored options.
2006-12-04 21:46:13 +00:00
Michael Brown
946967f09c
Abstracted out part of the concept of an SPI device to a generalised NVS
...
device.
Separated the mechanisms of non-volatile storage access and non-volatile
stored options.
2006-12-04 18:23:06 +00:00
Michael Brown
4cd56820ea
Basic non-volatile storage support
2006-11-29 02:41:08 +00:00
Michael Brown
c4677c7e73
Implemented realloc(), and changed the semantics of malloc(0) to allow
...
for realloc(0) being a valid way to free memory.
2006-11-24 16:51:18 +00:00
Michael Brown
6a18721ce8
Fixed off-by-one error
2006-11-22 04:54:17 +00:00
Michael Brown
ea97fe42dd
Note to self: do not write code late at night
2006-11-15 04:16:26 +00:00
Michael Brown
5753f2c58b
May as well add octal support to strtoul()
2006-11-15 02:57:24 +00:00
Michael Brown
bbfb2e02fd
Fixed endp bug in strtoul()
2006-11-15 02:54:28 +00:00
Michael Brown
65ff5357f1
Extend strtoul() to cope with hex as well as decimal. Doesn't cope
...
with octal yet, but we can probably live without that.
2006-11-15 02:52:06 +00:00
Michael Brown
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.)
There should be no need to include vsprintf.h just for DBG() statements,
since include/compiler.h forces it in for a debug build anyway.
2006-09-27 10:58:14 +00:00
Marty Connor
6ac78f6aff
added stdio.h to includes for DBG compilation
2006-09-27 05:57:06 +00:00
Marty Connor
1da4faa896
include stdio.h to suppress printf warning, general warnings fixups
2006-09-27 04:04:55 +00:00
Michael Brown
1a944a894e
Killed
2006-09-18 21:57:59 +00:00
Michael Brown
2f60aa42e7
Killed
2006-09-18 21:55:27 +00:00
Marty Connor
be0b19a690
commented out contents of core/nic.c, which should now be obsolete.
2006-09-18 15:08:08 +00:00
Michael Brown
69d2261016
Check that serial port init actually happens
2006-09-01 00:26:32 +00:00
Michael Brown
66dcd22f61
Added debug to catch initialisation failures
2006-09-01 00:19:09 +00:00
Michael Brown
c399e88aa3
Hopefully fix gcc3 build issue
2006-08-30 13:55:52 +00:00
Michael Brown
22511400c7
Added generic function for calculating ACPI table checksum
2006-08-27 22:02:08 +00:00
Michael Brown
27ba2d7527
Take out unused cleanup() function so that we can remove the link
...
dependency on dev.o.
2006-08-14 22:52:35 +00:00
Michael Brown
dbf3482ef5
Removed obsolete print_config()
2006-08-14 22:45:22 +00:00
Michael Brown
97439cb6eb
Kill off poll_interruptions(); it is lethal when we're acting as a PXE
...
stack or INT 13 emulator etc.
2006-08-14 22:29:51 +00:00
Michael Brown
3c35a0b16d
Added cmdl_show proof-of-concept
2006-08-11 18:40:27 +00:00
Michael Brown
dd9399f527
Added "hostname" and "ip" as sample settings
2006-08-11 18:29:20 +00:00
Michael Brown
fe774fe356
Added ipv4 configuration type
2006-08-11 18:22:41 +00:00
Michael Brown
7029fb8eff
Add string configuration type
2006-08-11 18:16:57 +00:00
Michael Brown
db46972349
Added basic infrastructure for manipulating settings.
2006-08-11 18:00:22 +00:00
Michael Brown
0dd0a8366e
Removed obsolete line merged in with the cmdline stuff
2006-08-09 03:22:29 +00:00
Michael Brown
56c995ff60
Aborted
2006-08-09 02:37:05 +00:00
Marty Connor
41af7457a8
Merge of Fredrik Hultin command_line
2006-08-09 02:30:35 +00:00
Michael Brown
6e3e5efaed
Accept '%i' as a synonym for '%d'.
2006-07-25 14:33:20 +00:00
Michael Brown
e74e20cb55
Remove the static IP address hack from netdevice.c, and change the
...
default test to the DHCP test.
2006-07-20 02:51:52 +00:00
Michael Brown
35b0233baa
Tidy up hex_dump() output.
2006-07-17 13:04:29 +00:00
Michael Brown
3acbff4f00
How did this ever work properly before?
2006-07-13 18:27:23 +00:00
Marty Connor
eb091f03e3
fix printf format args
2006-06-29 19:04:25 +00:00
Marty Connor
e8cc1c4333
Removed vestigal FILO code
2006-06-29 18:07:02 +00:00
Dan Lynch
446c1a3372
- deprecated in favour of a split library model
2006-06-27 11:05:13 +00:00
Michael Brown
3c8aafa209
Simplify RX data path.
...
Kill off the static single net device and move to proper dynamic
registration (which we need with the new device model).
Break the (flawed) assumption that all network-layer protocols can use
ARP; such network-layer protocols (i.e. IPv4) must now register as an ARP
protocol using ARP_NET_PROTOCOL() and provide a single method for checking
the existence of a local network-layer address.
2006-06-17 22:36:27 +00:00
Michael Brown
8aeead7c1c
Remove dependency on arptable[] (which is no longer used).
2006-06-16 14:48:31 +00:00
Michael Brown
c10698b8b4
Add NULL_TRAP as a config option
2006-06-11 01:55:43 +00:00
Michael Brown
286bf68faf
Added a very quick and dirty compatibility layer, to allow
...
not-yet-updated drivers to at least function.
2006-06-05 15:45:21 +00:00
Dan Lynch
34cfbf55a4
- added most slk functions
2006-06-05 15:03:11 +00:00
Michael Brown
6ab4b99f41
Quick hack to avoid trying to use an uninitialised net device.
2006-06-01 15:53:05 +00:00
Michael Brown
d6866202f9
Until we have a functioning UDP stack and PXE API again, there's not much
...
point trying to use the old boot sequence. Replaced with a call to the
AoE demo code, so that people can at least build and try something useful.
2006-06-01 11:07:31 +00:00
Michael Brown
cf96d325d8
Missing from previous checkin.
...
This is the core portion of the async I/O interface.
2006-05-31 18:45:43 +00:00
Michael Brown
1dbafa8950
Tidied up debugging messages
2006-05-27 13:38:49 +00:00
Michael Brown
0479e9f541
relocate.o is now dragged in by the objects that require it; there is no
...
need for a CONFIG_RELOCATE.
2006-05-25 01:34:13 +00:00
Dan Lynch
bef8874842
- implemented printw (formatted string output, a la printf)
...
- implemented hline/vline (part of wborder family)
- screen cursor now relocates at same time as window cursor when
restoring after a non-wrapping function
2006-05-22 17:03:41 +00:00
Michael Brown
84a493b88d
Allow vcprintf() to be called by external code such as the curses library.
...
Also trim another eight bytes from vsprintf.o. :)
2006-05-22 15:41:01 +00:00
Dan Lynch
f778500739
- fixes to _wputch to get positioning and wrap working properly
...
- fixes to wborder (same)
- addition of a few minor functions
2006-05-22 13:10:19 +00:00
Dan Lynch
d166dc57ab
- made _wputch wrap lines as well as cols (wraps back to line 0, as we have not way to scroll...)
...
- implemented color_content, wborder, wblrtobot, wclrtoeol, wcolor_set and several small functions
- added rest of expected global variables
2006-05-19 16:18:08 +00:00
Dan Lynch
2814681d20
all window primitives implemented
2006-05-18 17:51:19 +00:00
Michael Brown
a4143e8c87
Split debug functions out into core/debug.c, so that they can be
...
automatically linked in on demand.
Corrected warnings in misc.c. strtoul() really should be
unsigned long strtoul ( const char *p, const char **endp, int base )
but such is not the ANSI standard.
2006-05-17 17:16:24 +00:00
Michael Brown
15ee09ed10
Restructured PCI subsystem to fit the new device model.
...
Generic PCI code now handles 64-bit BARs correctly when setting
"membase"; drivers should need to call pci_bar_start() only if they want
to use BARs other than the first memory or I/O BAR.
Split rarely-used PCI functions out into pciextra.c.
Core PCI code is now 662 bytes (down from 1308 bytes in Etherboot 5.4).
284 bytes of this saving comes from the pci/pciextra split.
Cosmetic changes to lots of drivers (e.g. vendor_id->vendor in order to
match the names used in Linux).
2006-05-16 15:12:06 +00:00
Michael Brown
0afa9db2de
Tear out old heap code, replace with code that simply allocates memory
...
for use by malloc().
This breaks the image-loading code (which previously used the heap to
allocate the buffer for downloading the image), but that's not a major
concern since I'm going to tear out all the image formats within the next
couple of days anyway. Byebye, NBI! :)
2006-05-16 15:00:36 +00:00
Michael Brown
689218618f
Fix typo
2006-05-16 14:42:43 +00:00
Michael Brown
ceba6ecb75
Added generic device model.
2006-05-16 14:10:21 +00:00
Dan Lynch
a2799051b0
fixed build error (danjlynch, repeat: this is *not* perl, this is *not* perl...)
2006-05-15 09:34:27 +00:00
Dan Lynch
dccc6aed3a
lightweight xcurses implementation for etherboot (Michael made me do it...)
2006-05-15 09:29:48 +00:00
Michael Brown
eb6b8e8d70
Handle the '"%c", 0' case correctly.
2006-05-14 11:55:30 +00:00
Michael Brown
efd6281a35
Correctly handle zero-length buffers.
2006-05-14 11:18:42 +00:00
Michael Brown
25f5d114a0
Updated documentation.
...
Shaved around 100 bytes off vsprintf.o. It's now 50 bytes smaller than
the old implementation and provides much more conformant semantics,
including the ability to return the number of characters that would have
been printed to the string had the buffer been big enough. (iSCSI needs
this functionality).
2006-05-14 03:31:20 +00:00
Michael Brown
2421723a15
Rewrote printf and friends to better support standard C semantics.
2006-05-14 02:51:55 +00:00