david/ipxe
Archived
1
0
Commit Graph

632 Commits

Author SHA1 Message Date
Michael Brown
8becf0f65f Rearranging PXE header files 2005-05-23 22:45:48 +00:00
George Baum
c4c05bbbf7 the uncontroversal gcc 4.0 compilation fixes 2005-05-23 19:30:37 +00:00
Michael Brown
fd49648a35 Separated out the Etherboot-specific parts of the old pxe.h header. 2005-05-23 16:37:05 +00:00
Michael Brown
b9c7468dea Added PXENV+ and !PXE structures, and the loader API. 2005-05-23 16:26:49 +00:00
Michael Brown
442ba12b9e Finished documenting the UNDI API. 2005-05-23 13:57:23 +00:00
Michael Brown
cd9742e054 Documented up to PXENV_UNDI_CLOSE 2005-05-23 11:00:09 +00:00
Michael Brown
3503941582 Documented Preboot, TFTP and UDP data structures 2005-05-23 10:02:44 +00:00
Michael Brown
eb40aac2b4 Documented PXENV_GET_CACHED_INFO structures 2005-05-22 23:00:56 +00:00
Michael Brown
acb9d42cf8 Add UDP parameter structures 2005-05-22 02:57:50 +00:00
Michael Brown
22b7f0ec74 Define PXE types in terms of other PXE types where possible 2005-05-22 02:57:14 +00:00
Michael Brown
1e0a5d8b30 Worked out a sensible doxygen grouping 2005-05-22 00:59:09 +00:00
Michael Brown
29733a153d Added all API codes and basic prototypes. 2005-05-21 17:19:57 +00:00
Michael Brown
8355ce8a32 Documented the basic PXE data types 2005-05-21 15:15:10 +00:00
Michael Brown
d8f187dc6a Documented the UDP API calls. 2005-05-20 17:50:37 +00:00
Michael Brown
6bcd74b65c Moved pxe_export.c to pxe.c, since the old pxe.c no longer exists. 2005-05-20 15:32:41 +00:00
Michael Brown
93bb763ade Documented the link stages 2005-05-20 13:35:39 +00:00
Michael Brown
a177c012c1 Documented the compilation stages 2005-05-20 12:44:14 +00:00
Michael Brown
3f4387a6db Enable latex output 2005-05-20 11:52:16 +00:00
Michael Brown
eb28a68831 Add doc/ directory and .S files. 2005-05-20 11:38:48 +00:00
Michael Brown
d5789ff4a2 Doxygenation 2005-05-20 11:28:27 +00:00
Michael Brown
d3dec7c331 Update to cope with changes in registers.h 2005-05-20 11:23:51 +00:00
Michael Brown
5231b858c9 Don't use anonymous entries in a struct; it seems to aggravate gcc 3.4.3. 2005-05-20 11:22:09 +00:00
Michael Brown
a96759f9c8 Use "#var" rather than "@c var" for doxygen. 2005-05-20 10:27:02 +00:00
Michael Brown
bf32da87f0 Doxygenation 2005-05-20 10:24:11 +00:00
Michael Brown
7a4b45d3b0 Don't include etherboot.h; we get a circular dependency 2005-05-19 23:21:18 +00:00
Michael Brown
a9fabe7546 Doxygenation 2005-05-19 19:00:21 +00:00
Michael Brown
8bc4551f5e API docs to .h 2005-05-19 18:41:54 +00:00
Michael Brown
2ddbac101e Move API docs to buffer.h, implementation to buffer.c. 2005-05-19 18:32:04 +00:00
Michael Brown
e14c739d2d Imported from Etherboot 5.4 tree 2005-05-19 16:51:32 +00:00
Michael Brown
4e87543c74 Synced across updates from Etherboot 5.4 tree 2005-05-19 16:47:19 +00:00
Michael Brown
c0a94944fc Added FSP 2005-05-19 16:10:52 +00:00
Michael Brown
1a44618859 Version increased to 5.5.0 2005-05-19 16:07:13 +00:00
Michael Brown
f88c0d42d5 Doxygenation 2005-05-19 15:35:47 +00:00
Michael Brown
d0c9183903 Doxygenation 2005-05-19 14:51:37 +00:00
Michael Brown
eff1cd867b errno.h now required in order to compile. 2005-05-19 14:49:56 +00:00
Michael Brown
dd475a9b8c Add a const to avoid a warning 2005-05-19 13:02:38 +00:00
Michael Brown
2930fe846e Add image formats (didn't check in properly to gpxe for some reason) 2005-05-19 12:58:23 +00:00
Michael Brown
c18ea5282c Doxygenated 2005-05-19 12:53:59 +00:00
Michael Brown
e911a74724 More documentation 2005-05-19 11:54:41 +00:00
Michael Brown
a135024626 load_buffer is now handled via load_buffer.h 2005-05-19 00:19:07 +00:00
Michael Brown
a2915ad06d Added preliminary doxygen documentation 2005-05-19 00:17:48 +00:00
Michael Brown
0e921cdd9e More doxygen docs 2005-05-18 15:28:33 +00:00
Michael Brown
b115d1655c Add include directories as source dirs 2005-05-18 15:24:35 +00:00
Michael Brown
a28b779e71 Only produce documentation where documentation actually exists. 2005-05-18 15:07:19 +00:00
Michael Brown
484d6e7d24 __attribute__ does not need to be treated as a variadic macro, since
it is always used as __attribute__((...)).  Since variadic macros seem
to confuse poor doxygen, change it to a single-valued macro.
2005-05-18 15:02:23 +00:00
Michael Brown
d04b607eb9 Add doxygen documentation 2005-05-18 14:44:38 +00:00
Michael Brown
127362581f Document %m 2005-05-18 14:44:05 +00:00
Michael Brown
307cf36fca Linker symbols no longer defined in etherboot.h
Use %m to print error
2005-05-18 14:43:27 +00:00
Michael Brown
5a0f1bf421 doxygen docs go in bin/doc 2005-05-18 14:43:02 +00:00
Michael Brown
75a90cb143 Hide __attribute__ from doxygen 2005-05-18 14:42:02 +00:00
Michael Brown
0eb4d9973c Add EBADIMG, EIMGRET, ETIMEDOUT and EINVAL 2005-05-18 14:41:53 +00:00
Michael Brown
8e1d7b8a4a doxygen.cfg also references ARCH 2005-05-18 14:39:31 +00:00
Michael Brown
6b01ed0c95 Working to produce reasonably pretty code 2005-05-18 14:38:26 +00:00
Michael Brown
f888bd589d doxygen doesn't allow us to do the --include compiler.h trick... 2005-05-18 14:26:35 +00:00
Michael Brown
783e9ca396 Added doxygen comments and errno values. 2005-05-18 13:22:45 +00:00
Michael Brown
8bf7902141 Added rules to generate documentation using doxygen 2005-05-18 11:13:34 +00:00
Michael Brown
2d9fa8a1d9 Add DOXYGEN definition, comment out reference to not-yet-existent "image"
directory.
2005-05-18 11:12:17 +00:00
Michael Brown
fac5f28d7e There is no arch/i386/firmware/linuxbios directory 2005-05-18 11:11:57 +00:00
Michael Brown
06b2be03c8 All files in here are auto-generated 2005-05-18 10:52:25 +00:00
Michael Brown
7f1901860d Error numbers moved to errno.h 2005-05-18 09:55:38 +00:00
Michael Brown
ab07740755 First version 2005-05-17 18:39:27 +00:00
Michael Brown
ff9104e029 Added errno, strerror and the "%m" printf metacharacter. These will allow
us to return proper PXE status codes, while simultaneously allowing for
more consistent error reporting (complete with verbose error messages as a
build-time option).
2005-05-17 18:26:41 +00:00
Michael Brown
75a5374d79 Quickly hacked to use a buffer rather than a processor.
These don't yet take advantage of the buffer functionality.
2005-05-17 14:49:46 +00:00
Michael Brown
5fce946de4 Update to use buffer rather than processor 2005-05-17 14:35:20 +00:00
Michael Brown
40c7b127aa Added const to fill_buffer 2005-05-17 14:34:46 +00:00
Michael Brown
5ae60bd95d Updated to use buffer rather than processor 2005-05-17 14:26:14 +00:00
Michael Brown
022661283a Load buffer is now handled by the autoload() function. 2005-05-17 13:44:08 +00:00
Michael Brown
205a7ad5e0 Moved NBI support to nbi.c, modified to work with new load mechanism 2005-05-17 13:42:20 +00:00
Michael Brown
9c832a6a69 First version 2005-05-17 13:41:00 +00:00
Michael Brown
510de6cb8c Restructured to allow per-object image formats 2005-05-17 13:40:31 +00:00
Michael Brown
7205f0846c Heap function prototypes moved to heap.h 2005-05-17 13:39:27 +00:00
Michael Brown
a5f2942587 Add twiddle() so that progress is visible. 2005-05-17 13:39:00 +00:00
Michael Brown
0571dcdb05 Added print_images() and autoload(). 2005-05-17 13:38:24 +00:00
Michael Brown
9968c9513e Moved find_segment into elf_loader.c 2005-05-17 13:37:29 +00:00
Michael Brown
9a413cfea1 Moved os_regs into start32.S 2005-05-17 13:37:01 +00:00
Michael Brown
a76b9c3f19 Added debug messages 2005-05-17 13:36:12 +00:00
Michael Brown
3ce6504f14 Use shared symbols for heap_ptr and heap_end 2005-05-17 13:35:43 +00:00
Michael Brown
479fb900a1 Added copy_phys_to_phys 2005-05-17 13:34:57 +00:00
Michael Brown
4f27994980 Added "image" directory 2005-05-17 13:34:25 +00:00
Michael Brown
6e8f29d3cb Image formats moved into the new config system 2005-05-17 13:33:49 +00:00
Michael Brown
3bbf5f28a3 Use __unused instead of __used for static data structures.
Remove compiler.h defines from osdep.h
2005-05-17 12:16:28 +00:00
Michael Brown
301b2d40f0 Use the heap functions to allocate a load buffer. 2005-05-13 13:30:51 +00:00
Michael Brown
c695c75b01 First version 2005-05-13 13:29:15 +00:00
Michael Brown
5c8ea0b93a Add realloc, since the load buffer code requires it. 2005-05-13 13:20:16 +00:00
Michael Brown
59a1662978 Added debugging 2005-05-13 11:24:02 +00:00
Michael Brown
42250e9b1a Tidied up init_heap() 2005-05-13 11:16:14 +00:00
Michael Brown
f0d048bf91 Added ASSERT() macro 2005-05-13 10:18:21 +00:00
Michael Brown
94d512b979 Added old allot/forget calls for backwards compatibility. 2005-05-12 16:38:07 +00:00
Michael Brown
eff4fa5a04 Merged the unaligned and aligned heap APIs and simplified the code. 2005-05-12 16:34:57 +00:00
Michael Brown
a5a14dc05d Use the global load_buffer, and the boot_image function. 2005-05-09 18:10:04 +00:00
Michael Brown
f649a4d0fd Add INIT_LOADBUF 2005-05-09 18:04:20 +00:00
Michael Brown
73429d6da1 Make "struct buffer"s reusable between sessions. 2005-05-09 18:03:44 +00:00
Michael Brown
b94def2088 Include string.h, because we need to define copy_{to,from}_phys 2005-05-09 18:03:14 +00:00
Michael Brown
9fc97f8513 First version 2005-05-09 18:02:22 +00:00
Michael Brown
58ee2c4b2e First versions 2005-05-09 18:01:50 +00:00
Michael Brown
0fe74493f4 Protocols now load data into a buffer; they don't execute it. 2005-05-09 14:27:29 +00:00
Michael Brown
116f17f605 off_t should be signed. 2005-05-09 14:26:25 +00:00
Michael Brown
bab2924e89 Return -1 to indicate buffer overflow. Allow buffer fill level to be read
easily from struct buffer.
2005-05-09 14:26:10 +00:00
Michael Brown
a89651f3bb Added debugging 2005-05-09 13:47:04 +00:00
Michael Brown
b2869ed6b8 Added explanatory comment. 2005-05-09 13:25:43 +00:00
Michael Brown
e75b7480d0 Modified to use physical addresses, and to not assume that we can directly
refer to data outside of our data or stack segments.
2005-05-09 13:24:01 +00:00
Michael Brown
e3f2aa7b4d Add off_t and physaddr_t, and the copy_{to,from}_phys helper routines. 2005-05-09 13:21:56 +00:00
Michael Brown
dc0aa58fb2 Add memcpy 2005-05-09 12:48:00 +00:00
Michael Brown
ef05a27f25 Start of an implementation using doubly-linked lists and virtual
addresses.  This will have to be reworked to use physical addresses thanks
to the PXE spec.
2005-05-09 10:11:11 +00:00
Michael Brown
462234f373 Make vga_font const to avoid warning about large symbol 2005-05-03 13:17:08 +00:00
Michael Brown
e91c65bea1 Make PCI ID tables const so as not to trigger a warning about a large
symbol.
2005-05-03 12:36:06 +00:00
Michael Brown
cc73bba7ba Allow read-only symbols to be large 2005-05-03 12:34:52 +00:00
Michael Brown
24c0498cbc Move tulip_private structure into shared data. 2005-05-03 12:29:32 +00:00
Michael Brown
7df2857248 Reduce large symbol warning threshold, now that most of the really
large symbols have been fixed.
2005-05-03 12:24:52 +00:00
Michael Brown
42eb786ced D'oh 2005-05-03 12:18:31 +00:00
Michael Brown
4bcd42699b Use __shared 2005-05-03 12:16:49 +00:00
Michael Brown
303ff86c75 Added example of how to use __shared.
Moved transmit before poll, since typically transmit will be implemented first.
2005-05-03 12:14:29 +00:00
Michael Brown
ff8e46f2f3 #if 0 out the whole file for now; it cannot be linked because the base
memory interface has changed.
2005-05-03 11:56:33 +00:00
Michael Brown
0174310f38 Re-add the "etherboot.%" all-drivers image. 2005-05-03 11:51:19 +00:00
Michael Brown
c112f12c5b Symbol fixups 2005-05-03 11:29:33 +00:00
Michael Brown
3c2851e563 Arbitrary alignment is now available.
Use shared symbols.
Correct other symbol violations.
2005-05-03 09:56:57 +00:00
Michael Brown
68e90c75b6 Removed spurious semicolon 2005-05-03 09:02:24 +00:00
Michael Brown
ee15c47cb5 Use shared symbols 2005-05-02 17:45:24 +00:00
Michael Brown
3267ca5568 Use shared symbols to save space 2005-05-02 16:35:44 +00:00
Michael Brown
60b82eb5cd Moved definition of __shared into compiler.h 2005-05-02 16:21:52 +00:00
Michael Brown
a1f50f27b0 Correct symbol violations reported by "make symcheck" 2005-05-02 15:22:32 +00:00
Michael Brown
35ab3bf808 Report on misuses of shared symbols, and excessively large static symbols. 2005-05-02 15:21:12 +00:00
Michael Brown
734d2e9f2d First version 2005-05-02 14:43:15 +00:00
Michael Brown
88baf7a383 Tweaked to read more information (including symbol size) from blib.a 2005-05-02 13:49:54 +00:00
Michael Brown
48e40e933f Add DOWNLOAD_PROTO_XXX options. 2005-05-02 12:45:23 +00:00
Michael Brown
4ed412f1c2 Updated to use new URL parser and new protocol API.
Sort of works; the HTTP stuff is fine but the TCP code seems to be
broken; it doesn't ACK the packets and just hands us the retransmitted
packets instead.
2005-05-02 12:10:14 +00:00
Michael Brown
a918abc036 Split TCP code out into proto/tcp.c 2005-05-02 12:07:47 +00:00
Michael Brown
cc980d1c94 Moved DOWNLOAD_PROTO_XXX options to config.h 2005-05-02 11:13:47 +00:00
Michael Brown
f9f1d2c84c More URL parsing moved into url.c 2005-05-01 23:58:45 +00:00
Michael Brown
d5bf9e71ea http.h obsoleted (no content) 2005-05-01 23:58:20 +00:00
Michael Brown
f14af3d95c Protocol structure can now specify the default port. 2005-05-01 23:57:09 +00:00
Michael Brown
63482e4fe9 Made parse_url do more of the processing, to avoid duplicating parts of
nic.c in http.c
2005-05-01 19:10:04 +00:00
Michael Brown
17bb10479d Protocol names are x-slam and x-tftm 2005-05-01 15:50:08 +00:00
Michael Brown
6afffc0771 Updated to protocol API 2005-05-01 15:36:39 +00:00
Michael Brown
5c2e5557f0 Updated to protocol API 2005-05-01 15:26:44 +00:00
Michael Brown
1fdbbaa237 Removed obsolete prototypes. 2005-05-01 15:14:22 +00:00
Michael Brown
3af0af65a0 Updated to new protocol API, made to compile. 2005-05-01 15:08:39 +00:00
Michael Brown
2227a711fd umountall() handled by nfs.c's reset function 2005-05-01 15:08:19 +00:00
Michael Brown
d727e144c1 nfs prototypes no longer required. 2005-05-01 15:07:55 +00:00
Michael Brown
52b3c8babe Add INIT_RPC 2005-05-01 15:07:35 +00:00
Michael Brown
85d9eae44e Moved protocols to proto/ 2005-05-01 14:04:11 +00:00
Michael Brown
0cfcd91558 Abort immediately if no nameserver is present. 2005-05-01 13:59:34 +00:00
Michael Brown
bcedad4708 Add debugging for CNAME records.
Allow routines to be called by nmb.c
2005-05-01 11:30:26 +00:00
Michael Brown
3ae7a3d1f0 NMB packets are so similar to DNS packets; we may as well add NMB as a
name resolution method.
2005-05-01 11:10:17 +00:00
Michael Brown
e1d6f3a8ac Add NMB_RESOLVER 2005-05-01 10:58:49 +00:00
Michael Brown
89f4fe4a8a Do not include etherboot.h 2005-05-01 10:40:12 +00:00
Michael Brown
552f33c663 Always request DNS server. DHCP handling will be generalised in future. 2005-04-30 19:39:50 +00:00
Michael Brown
138c987738 Straightforward A record resolution now known working. 2005-04-30 19:38:51 +00:00
Michael Brown
3b59bf559c ttl is a uint32_t 2005-04-30 19:38:31 +00:00
Michael Brown
78cdb1da8b DNS resolver rewritten, moved to proto/dns.c 2005-04-30 14:50:33 +00:00
Michael Brown
d817e60d21 "dns_resolver" changed to "dns" 2005-04-30 14:49:41 +00:00
Michael Brown
167c26c92b tftp functions moved to proto/tftp.c 2005-04-30 14:46:49 +00:00
Michael Brown
5f45f14b5f tftp moved to separate file. 2005-04-30 14:46:18 +00:00
Michael Brown
06634dc386 Protocols get passed a pointer to the filename portion as well as just the
URL.
2005-04-30 14:45:51 +00:00
Michael Brown
5bec933c66 tftp prototypes moved to tftp.h 2005-04-30 14:45:33 +00:00
Michael Brown
95946c6f56 Added "proto" directory 2005-04-30 14:45:09 +00:00
Michael Brown
1644238813 Added debugging. 2005-04-30 14:41:37 +00:00
Michael Brown
6cd0fa5807 Added DNS resolver configuration option. 2005-04-30 14:39:21 +00:00
Michael Brown
0780ecf1b6 TFTP API changed. 2005-04-30 14:27:17 +00:00
Michael Brown
56825df041 loadkernel renamed to download_url, substantially restructured, and moved
to nic.c
2005-04-30 13:52:27 +00:00
Michael Brown
e68378fd62 loadkernel renamed to download_url and moved to nic.c 2005-04-30 13:51:49 +00:00
Michael Brown
332b40b986 loadkernel no longer exists; it is now download_url and lives in nic.c. 2005-04-30 13:51:18 +00:00
Michael Brown
903ddd9878 inet_aton doesn't overwrite the IP address unless it is valid. 2005-04-30 13:50:34 +00:00
Michael Brown
55ae308821 Protocols also take a pointer to a sockaddr_in. 2005-04-30 13:50:01 +00:00
Michael Brown
00b78f73a4 Use struct in_addr rather than just "in_addr".
Add struct sockaddr_in.
2005-04-30 13:49:28 +00:00
Michael Brown
70567c51a2 Moved strtoul prototype into stdlib.h for consistency 2005-04-30 13:48:48 +00:00
Michael Brown
044b20385b parse_url() is void. 2005-04-30 13:24:26 +00:00
Michael Brown
65dc273d78 First version 2005-04-29 13:26:31 +00:00
Michael Brown
e4131ebb84 First version 2005-04-29 13:17:25 +00:00
Michael Brown
754cef922d First version 2005-04-28 13:47:36 +00:00
Michael Brown
c1253d2219 Much, much smaller. :) 2005-04-28 13:20:02 +00:00
Michael Brown
6791aeb024 First version: far too large (408 bytes!!!) 2005-04-28 12:12:11 +00:00
Michael Brown
282b6f1a1a isa.c uses the new table infrastructure. 2005-04-27 12:24:38 +00:00
Michael Brown
f37e0a06d7 dev.c uses the new tables infrastructure. 2005-04-27 12:20:54 +00:00
Michael Brown
c08671e5fc Missing include 2005-04-27 12:17:09 +00:00
Michael Brown
b9e72856b6 Post-relocation functions use the generic table mechanism. 2005-04-27 12:10:24 +00:00
Michael Brown
d2d4978f4f Use PREFIX_OBJECT to give the init_fn table variables meaningful names. 2005-04-27 12:08:52 +00:00
Michael Brown
c8fc121890 Special handling for symbols of the form "xxx_end", to make table end
markers appear before the symbols that immediately follow the table.
2005-04-27 12:08:13 +00:00
Michael Brown
1ddcdb0524 Added PREFIX_OBJECT() function to be able to easily prepend any string
to the object name in order to generate e.g. per-file variables.
2005-04-27 11:59:37 +00:00
Michael Brown
3e5bf5fb06 console.c uses the generic table mechanism 2005-04-27 11:38:43 +00:00
Michael Brown
69f09ebdd8 Linker no longer provides start and end symbols for each table; these
markers are now static labels within the objects that refer to them.
2005-04-27 11:27:38 +00:00
Michael Brown
241f426a85 Use new generic tables infrastructure 2005-04-27 11:25:21 +00:00
Michael Brown
b9c9cee8a3 Added a generalised table infrastructure, so that we don't have to
keep adding new tables to each architecture's linker scripts.
2005-04-27 11:22:46 +00:00
Michael Brown
81e4755106 Produce a sorted list of all local symbols in the map file. 2005-04-27 10:55:12 +00:00
Michael Brown
d6930e6e40 Use symbol size as a third index, mainly so that zero-length symbols
(e.g. section start indicators) show up before the symbols they're
indicating the start of.
2005-04-27 10:54:33 +00:00
Michael Brown
ac01cf4997 First version 2005-04-27 10:40:59 +00:00
Michael Brown
fda36a0c1a Added back in the actual call to load(). 2005-04-26 17:12:07 +00:00
Michael Brown
e301acc0d4 Add isapnp_max_csn to reduce scan time. 2005-04-26 14:07:30 +00:00
Michael Brown
3dbdeb588f ISA bus driver updated to report devices as present only if a driver
thinks they are.
Other bus drivers modified for consistency.
2005-04-26 12:30:14 +00:00
Michael Brown
3a7967a38a PCI_DRIVER changed 2005-04-26 12:20:05 +00:00
Michael Brown
7e534b585f Automatically updated with
perl -pi -0777 -e 's/^static struct \w+_driver (\w+) =\s*(\w+_DRIVER \()/${2} ${1},/msg' *.c
2005-04-26 12:19:39 +00:00
Michael Brown
fcee25024f BIOS floppy handling code moved to where it will really live. 2005-04-25 19:29:55 +00:00
Michael Brown
10b7b1a61f Added arch/i386/drivers/disk 2005-04-25 19:29:02 +00:00
Michael Brown
f5dde85e16 Improved debug messages 2005-04-25 19:28:49 +00:00
Michael Brown
8cd0693396 s/{name,describe}/{name,describe}_device/ 2005-04-25 19:27:53 +00:00
Michael Brown
3b14360f5c Renamed describe to describe_device for consistency 2005-04-25 19:27:25 +00:00
Michael Brown
99b857559b Added "name" field to struct bus_driver 2005-04-25 19:26:33 +00:00
Michael Brown
d281996ef8 Added DBG2 2005-04-25 19:25:45 +00:00
Michael Brown
5bace628ae Added "name" field to bus structure. 2005-04-25 18:54:15 +00:00
Michael Brown
f972f256e6 Allow for multiple debug levels 2005-04-25 16:28:07 +00:00