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

1358 Commits

Author SHA1 Message Date
Michael Brown 572483cc59 Separate out the documentation of the PXE API from the documentation of
the Etherboot implementation (i.e. don't do what Intel did).
2005-05-24 17:00:55 +00:00
Michael Brown 0e494614b5 Some versions of doxygen seem to object to "@ret None" or similar. 2005-05-24 00:11:25 +00:00
Michael Brown 7b423c0988 Fixes for gcc >= 3.2 from Georg Baum 2005-05-23 23:47:54 +00:00
Michael Brown 809933d9f7 Split PXE code into preboot, udp, tftp, undi and loader units.
PXE code now compiles without errors (though it won't actually work).
2005-05-23 23:32:56 +00:00
Michael Brown 8becf0f65f Rearranging PXE header files 2005-05-23 22:45:48 +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 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 4e87543c74 Synced across updates from Etherboot 5.4 tree 2005-05-19 16:47:19 +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 0e921cdd9e More doxygen docs 2005-05-18 15:28:33 +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 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 f888bd589d doxygen doesn't allow us to do the --include compiler.h trick... 2005-05-18 14:26:35 +00:00
Michael Brown 7f1901860d Error numbers moved to errno.h 2005-05-18 09:55:38 +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 40c7b127aa Added const to fill_buffer 2005-05-17 14:34:46 +00:00
Michael Brown 9c832a6a69 First version 2005-05-17 13:41:00 +00:00
Michael Brown 7205f0846c Heap function prototypes moved to heap.h 2005-05-17 13:39:27 +00:00
Michael Brown 0571dcdb05 Added print_images() and autoload(). 2005-05-17 13:38:24 +00:00
Michael Brown 3ce6504f14 Use shared symbols for heap_ptr and heap_end 2005-05-17 13:35:43 +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 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 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 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 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 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 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 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 68e90c75b6 Removed spurious semicolon 2005-05-03 09:02:24 +00:00
Michael Brown 60b82eb5cd Moved definition of __shared into compiler.h 2005-05-02 16:21:52 +00:00
Michael Brown 734d2e9f2d First version 2005-05-02 14:43:15 +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 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 1fdbbaa237 Removed obsolete prototypes. 2005-05-01 15:14:22 +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 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 89f4fe4a8a Do not include etherboot.h 2005-05-01 10:40:12 +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 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 1644238813 Added debugging. 2005-04-30 14:41:37 +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 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 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 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 d2d4978f4f Use PREFIX_OBJECT to give the init_fn table variables meaningful names. 2005-04-27 12:08:52 +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 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 fda36a0c1a Added back in the actual call to load(). 2005-04-26 17:12:07 +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 fcee25024f BIOS floppy handling code moved to where it will really live. 2005-04-25 19:29:55 +00:00
Michael Brown 3b14360f5c Renamed describe to describe_device for consistency 2005-04-25 19:27:25 +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
Michael Brown e59607bcb1 Should be an <= comparison, not a < comparison.
(Detected using "make symcheck" :)
2005-04-23 14:34:00 +00:00
Michael Brown 1e156f537b Consistency 2005-04-22 11:56:27 +00:00
Michael Brown 3e8c2aa78b Fix up fill_mca_nic. 2005-04-22 02:47:39 +00:00
Michael Brown 97346a75f7 Added friendly enable/disable functions 2005-04-22 02:43:24 +00:00
Michael Brown 924143661a Updated all common buses to new API. 2005-04-22 02:28:16 +00:00
Michael Brown 4e3ebba8e6 Revert debug message prefix back to none, since we sometimes want to use
DBG() several times to build up a line.
2005-04-22 02:27:59 +00:00
Michael Brown cfe3a663af Tweaked API to minimise changes to existing drivers even further. 2005-04-21 19:04:53 +00:00
Michael Brown 8153a0fa7e Made macros more like the previous driver API, to minimise required
changes.
2005-04-21 18:30:12 +00:00
Michael Brown 98ff29345e Created a bus/device API that allows for the ROM prefix to specify an
initial device, and will also allow for e.g. a device menu to be presented
to the user.
2005-04-21 18:18:29 +00:00
Michael Brown 905ca1f21d Force a standard format upon debug messages. 2005-04-21 18:16:54 +00:00
Michael Brown a95b458660 Trying to create a bus API. 2005-04-20 00:29:12 +00:00
Michael Brown 85b00c4b72 Move RELOCATE into config.h
Move ISA probe address logic from config.c into isa.c, create header file
config/isa.h.
2005-04-18 11:00:42 +00:00
Michael Brown a6057b4cbc Need stddef.h to get size_t 2005-04-17 10:48:56 +00:00
Michael Brown f08516791e printf and sprintf now defined in vsprintf.h, drag in console.h to get
putchar() as well.
2005-04-17 10:45:13 +00:00
Michael Brown 664ffea697 Gave vsprintf.c its own header file, and made console.h include it. 2005-04-17 10:44:26 +00:00
Michael Brown 063140864e Automatically drag in console.h if DBG() is being defined as printf(). 2005-04-17 10:25:06 +00:00
Michael Brown b7c55c3951 Avoid signed/unsigned warnings by explicitly making PCI_{BUS,DEV,FUNC}
all return unsigned quantities.
2005-04-16 17:09:52 +00:00
Michael Brown 57070797e3 Optimise ISAPNP_READ_PORT_STEP 2005-04-16 14:50:41 +00:00
Michael Brown c659a54f70 Now known to work with an old Adaptec 1505 that I found lying around. 2005-04-16 14:41:04 +00:00
Michael Brown e29be5e342 Speed up PCI bus scanning by skipping fns 1-7 if fn 0 is not present. 2005-04-16 11:42:56 +00:00
Michael Brown 6e5a3858bf Read number of PCI buses returned by BIOS so that we can scan more
quickly.
2005-04-16 11:16:31 +00:00
Michael Brown 9f02376409 Make isa_probe_addr a simple integer rather than a struct, to facilitate
specification of ISA_PROBE_ADDRS.
2005-04-16 09:30:48 +00:00
Michael Brown e6e43a2f2f We now correctly use logical devices. 2005-04-15 15:37:39 +00:00
Michael Brown 8e375c638d Canonicalised tag names 2005-04-15 15:20:00 +00:00
Michael Brown 05986a848f Move the concept of logical devices inside the struct isapnp_device. 2005-04-15 15:16:03 +00:00
Michael Brown 888277d2d1 Read current ioaddr and irqno from PnP registers. 2005-04-15 14:27:49 +00:00
Michael Brown 85dd4fd8d6 Activation code now generalised as well. 2005-04-15 13:07:25 +00:00
Michael Brown 1980018b8b Cleaned up isolation protocol. 2005-04-15 12:25:17 +00:00
Michael Brown 773d66e6dc Typo 2005-04-14 19:10:17 +00:00
Michael Brown 9eac705dd2 Added a generalised ISA device-probing mechanism. 2005-04-14 18:46:43 +00:00
Michael Brown 2e309f9eec Fix BOOT_DRIVER to assign unique and meaningful name to structure. 2005-04-14 14:30:03 +00:00
Michael Brown 9183f2412e bus header files must include dev.h to get struct dev. 2005-04-14 14:26:28 +00:00
Michael Brown 104880ca19 Tweak API to allow separation of bus-scanning and device-probing logic. 2005-04-14 13:44:07 +00:00
Michael Brown ce8dea0dff Separate out bus-scanning and device-probing logic. 2005-04-14 13:33:03 +00:00
Michael Brown 1f26be34b8 Allow for multiple BOOT_DRIVER()s in the same file, provided that they
have different probe functions.
2005-04-14 12:02:19 +00:00
Michael Brown bc85cf756d We need the ISA product ID mask available separately for 3c509.c. 2005-04-14 11:47:30 +00:00
Michael Brown dcd573afcb Automatically create DBG() macro based on debug_<object> macro. 2005-04-14 11:35:45 +00:00
Michael Brown 75d864432c Use the magic of common symbols to allow struct dev to effectively grow at
link time to accommodate whatever bus objects are included.
2005-04-14 10:10:54 +00:00
Michael Brown 200b39a645 Extraced from 3c509.c 2005-04-13 12:45:38 +00:00
Michael Brown a4f1a058a4 Add EISA as a bus type. 2005-04-13 12:20:59 +00:00
Michael Brown 9711f50e20 Created separate isa_ids.h file and a utility function to print out ISA
IDs in a human-readable format.
2005-04-13 12:01:44 +00:00
Michael Brown ac1c0a753d Add MCA devices 2005-04-13 03:00:50 +00:00
Michael Brown 1aee4e8001 Extracted from 3c509.c 2005-04-13 02:59:13 +00:00
Michael Brown f16ac2d87e Fix type of dummy_irq() 2005-04-13 01:28:43 +00:00
Michael Brown 17d69d8930 Add mbps and duplex to struct nic, since some drivers (e.g. rtl8139)
can fill them in.
2005-04-13 00:16:42 +00:00
Michael Brown 95da907d5f Add print_info method to dev_operations. 2005-04-12 22:43:25 +00:00
Michael Brown d9f34bfdfc Add dummy_connect and dummy_irq 2005-04-12 19:11:13 +00:00
Michael Brown 1218698e01 Cope with nic.h being included before (or without) dev.h 2005-04-12 18:21:38 +00:00
Michael Brown 122b025293 Include dev.h, since several drivers just include nic.h 2005-04-12 18:15:12 +00:00
Michael Brown 3293c68488 Make adjust_pci_device global, since many drivers call it. 2005-04-12 18:10:57 +00:00
Michael Brown 762fa9a478 Fix up find_pci_device so that it can be used for scanning for devices
*other* than the main boot device.
2005-04-12 18:04:03 +00:00
Michael Brown 5c31682674 Tie into new boot device framework. 2005-04-12 16:54:09 +00:00
Michael Brown 6343381e25 Matches new pci.c interface. 2005-04-12 16:45:40 +00:00
Michael Brown 5603c879c4 Add INIT_PCIBIOS 2005-04-12 16:45:16 +00:00
Michael Brown 45f96a49c7 main.c contains the global struct dev. 2005-04-12 16:39:03 +00:00
Michael Brown 17c1ca90e7 New device probing mechanism 2005-04-12 16:38:23 +00:00
Michael Brown 5d96e5dad9 Changed guard name to avoid clash with INCLUDE_xxx namespace used by
drivers.
2005-04-11 09:58:31 +00:00
Michael Brown d189b84536 Fix up init ordering.
Make init function table name fixed; it's a static variable anyway.
2005-04-10 18:20:38 +00:00
Michael Brown ef05051f23 Add INIT_LIBRM before INIT_CONSOLE. 2005-04-09 15:26:38 +00:00
Michael Brown 8570814148 Removed basemem.c prototypes 2005-04-09 15:00:28 +00:00
Michael Brown c8c7d93757 Relocation code is arch-specific. 2005-04-09 13:28:59 +00:00
Michael Brown fedd00dd46 Removed references to old callback mechanism 2005-04-09 11:15:14 +00:00
Michael Brown 9c32083d56 callbacks.h no longer exists. 2005-04-09 11:12:29 +00:00
Michael Brown a3faaf405a Callback mechanism now obsolete 2005-04-09 11:11:34 +00:00
Michael Brown 0ff80b477d Merged mcb30-realmode-redesign back to HEAD 2005-04-08 15:01:17 +00:00
Michael Brown 7700b8059c Remove CODE16 as a global define; most files define it themselves
anyway, and I want to be able to use it as a compile-time option for
the i386 decompressor.
2005-03-09 14:02:20 +00:00
Michael Brown 3d6123e69a Initial revision 2005-03-08 18:53:11 +00:00