summaryrefslogtreecommitdiffstats
path: root/src/include
Commit message (Collapse)AuthorAgeFilesLines
...
* Use separate data-in and data-out buffers.Michael Brown2006-05-291-29/+37
| | | | Increase code simplicity at the expense of around 64 bytes.
* Add ETH_P_AOEMichael Brown2006-05-281-0/+1
|
* Added tcp_kick(). This speed up LILO and GRUB booting by almost twoMichael Brown2006-05-271-0/+1
| | | | orders of magnitude.
* Make PKB_ZLEN the minimum possible size of packet buffer (to allow forMichael Brown2006-05-271-0/+9
| | | | hardware that can't autopad).
* Added abstraction layer for a three-wire serial device (e.g. the EEPROMMichael Brown2006-05-261-0/+102
| | | | used on RTL8139 cards).
* Removed some obsolete INIT_XXX constants.Michael Brown2006-05-251-5/+0Star
|
* - implemented printw (formatted string output, a la printf)Dan Lynch2006-05-221-70/+114
| | | | | | - implemented hline/vline (part of wborder family) - screen cursor now relocates at same time as window cursor when restoring after a non-wrapping function
* Allow vcprintf() to be called by external code such as the curses library.Michael Brown2006-05-221-0/+29
| | | | Also trim another eight bytes from vsprintf.o. :)
* - fixes to _wputch to get positioning and wrap working properlyDan Lynch2006-05-221-18/+30
| | | | | - fixes to wborder (same) - addition of a few minor functions
* Made the LBA48 example clearer.Michael Brown2006-05-211-4/+4
|
* Added (untested) support for ATA devices. This code should be genericMichael Brown2006-05-211-0/+193
| | | | enough to support both real IDE chipsets and AoE.
* Added missing @file blockMichael Brown2006-05-201-0/+6
|
* READ CAPACITY (16) turns out to be an optional command (even thoughMichael Brown2006-05-191-0/+27
| | | | | READ(16) is mandatory); we must use READ CAPACITY (10) first and then use READ CAPACITY (16) if the READ CAPACITY (10) returns "out of range".
* Add EOVERFLOW==ERANGEMichael Brown2006-05-191-4/+6
|
* - made some of the bit shifting attribute access simpler (in my mind)Dan Lynch2006-05-191-248/+50Star
| | | | | | | | | - added extern declarations for global vars - removed comments from static inlines (too time consuming to do them all, considering all so far have been due to the ridiculous amount of redundancy within the API spec) - removed a few more extern func decls for funcs that cannot be implemented at this time
* Add the concept of a "user pointer" (similar to the void __user * inMichael Brown2006-05-193-4/+33
| | | | | | | | | | | | | | | | | | | | the kernel), which encapsulates the information needed to refer to an external buffer. Under normal operation, this can just be a void * equivalent, but under -DKEEP_IT_REAL it would be a segoff_t equivalent. Use this concept to avoid the need for bounce buffers in int13.c, which reduces memory usage and opens up the possibility of using multi-sector reads. Extend the block-device API and the SCSI block device implementation to support multi-sector reads. Update iscsi.c to use user buffers. Move the obsolete portions of realmode.h to old_realmode.h. MS-DOS now boots an order of magnitude faster over iSCSI (~10 seconds from power-up to C:> prompt in bochs).
* iSCSI writes seem to be working (at least, the ethereal trace shows noMichael Brown2006-05-192-32/+116
| | | | | | | | | errors; still need to verify data integrity). SCSI response PDUs are handled: status and sense data (if available) are returned via the scsi_command structure. Updated iSCSI session parameter usage.
* All uses iscsi_state were removed some time ago; removing theMichael Brown2006-05-181-8/+0Star
| | | | declaration.
* all window primitives implementedDan Lynch2006-05-181-30/+9Star
|
* Strip down i386 PCI configuration space I/O to the bare minimum. AMichael Brown2006-05-171-13/+1Star
| | | | | | | | | | typical build will now include 880 bytes of PCI support code, compared to 2327 bytes in Etherboot 5.4. (There is a slight cost of around 5 extra bytes per access to a non-constant config space address; this should be an overall win. Driver-specific accesses will usually be to constant addresses, for which there is no additional cost.)
* Restructured PCI subsystem to fit the new device model.Michael Brown2006-05-161-112/+107Star
| | | | | | | | | | | | | | 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).
* Tear out old heap code, replace with code that simply allocates memoryMichael Brown2006-05-162-92/+15Star
| | | | | | | | | 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! :)
* Kill off the "all devices are boot devices" ideaMichael Brown2006-05-161-0/+4
|
* Add list_for_each_entry_safe.Michael Brown2006-05-161-1/+16
|
* Added generic device model.Michael Brown2006-05-161-0/+70
|
* Change movetoyx(), putc() and getc() to methods of the screen.Michael Brown2006-05-151-26/+23Star
|
* lightweight xcurses implementation for etherboot (Michael made me do it...)Dan Lynch2006-05-151-0/+871
|
* Split "iSCSI as a SCSI device" out from "iSCSI as a TCP protocol".Michael Brown2006-05-151-0/+3
|
* Updated documentation.Michael Brown2006-05-141-35/+22Star
| | | | | | | | 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).
* Rewrote printf and friends to better support standard C semantics.Michael Brown2006-05-141-3/+35
|
* Add 64-bit byte-swapping operations.Michael Brown2006-05-133-0/+10
|
* Provide a SCSI device interface to the iSCSI protocolMichael Brown2006-05-131-35/+101
|
* Defined SCSI device interface, and added SCSI block deviceMichael Brown2006-05-131-7/+137
| | | | implementation.
* Defined a block device interface.Michael Brown2006-05-131-0/+39
|
* (Redoing check-in lost by SourceForge's failure.)Michael Brown2006-05-131-66/+0Star
|
* Towards a(nother) new real-mode infrastructure, in which we takeMichael Brown2006-05-021-5/+0Star
| | | | | advantage of the fact that we have to have a permanently-resident block in base memory.
* Merge TCP aborted(), timedout() and closed() methods into a singleMichael Brown2006-04-302-15/+17
| | | | closed() method with a reason code.
* Proof-of-concept FTP implementationMichael Brown2006-04-301-0/+68
|
* Add a temporary snprintf, so that safely-written code can at leastMichael Brown2006-04-301-0/+1
| | | | compile, even if it won't yet be safe.
* Fix up prototype of strtoul() to match POSIX.Michael Brown2006-04-301-1/+1
|
* Make tcp_connect() void; it will eventually have no failure case.Michael Brown2006-04-302-2/+2
|
* Put the TCP connection periodic processing in tcp.c, where it belongs.Michael Brown2006-04-301-8/+2Star
|
* ConsistencyMichael Brown2006-04-301-3/+3
|
* Move init.h to gpxe/init.h.Michael Brown2006-04-301-0/+66
|
* Change semantics of network API so that packet-absorbing calls *always*Michael Brown2006-04-291-10/+9Star
| | | | | | | | | | | take ownership of the packet, rather than doing so only if they return success. This breaks semantic compatibility with Linux's hard_start_xmit() method, but means that we don't have to worry so much about error cases. Split mechanism of processing received packets (net_rx_process()) out from policy (net_step()), preparatory to putting net_step() in a separate object.
* Added basic code for implementing co-operative multitasking.Michael Brown2006-04-291-0/+32
| | | | Yes, you really can do it in 65 bytes.
* Network layer now works as a proof of conceptMichael Brown2006-04-282-28/+83
|
* Fix a couple of broken assertions, and align the buffer correctly.Michael Brown2006-04-281-2/+2
|
* Gave up on adding POSIX errno's as required, and just added (almost) allMichael Brown2006-04-281-12/+52
| | | | | | of them in one go. EBADIMG has been replaced by ENOEXEC, and EIMGRET by ECANCELED.
* Actually, it's probably a good idea to have packet buffers avoid 4kBMichael Brown2006-04-251-0/+11
| | | | crossings.