Commit Graph

  • 73a449e96b Added drivers/ata directory (forgot to check this in previously). Michael Brown 2006-05-31 14:31:48 +00:00
  • 552b4a178e One bit of an ASCII character can make a big difference. Michael Brown 2006-05-29 21:00:00 +00:00
  • 1db1a6dad3 Added first sketch of a generic retry timer mechanism. The idea is to use these timer objects in AoE and UDP protocols (where there is no underlying retransmission mechanism) without requiring each protocol to implement its own individual retry logic. Eventually, we should be able to use the same timer code for TCP retransmissions as well. Michael Brown 2006-05-29 14:55:07 +00:00
  • 6541338897 Handle multi-sector reads by splitting them into subcommands. Michael Brown 2006-05-29 08:25:31 +00:00
  • 9a2a52693d Initial AoE implementation. Limitations are: Michael Brown 2006-05-28 23:29:43 +00:00
  • 6f998cecb3 Use separate data-in and data-out buffers. Michael Brown 2006-05-28 23:26:42 +00:00
  • 6d6252067f Add ETH_P_AOE Michael Brown 2006-05-28 21:47:52 +00:00
  • 35b04b1514 Tidy up comment Michael Brown 2006-05-28 14:40:04 +00:00
  • 041a04335e Fixed assembly on old versions of gas Michael Brown 2006-05-28 14:21:29 +00:00
  • f743de4858 Added tcp_kick(). This speed up LILO and GRUB booting by almost two orders of magnitude. Michael Brown 2006-05-27 19:01:20 +00:00
  • cd3ecac809 Avoid causing TX overflow on small TX queues. Michael Brown 2006-05-27 13:55:36 +00:00
  • 70ef6dbb7c Rewrote to use the new net driver API, the updated PCI API, and the generic three-wire serial device support for EEPROM access. Michael Brown 2006-05-27 13:45:14 +00:00
  • 69b1f24a97 I have no idea how this ever worked before. Michael Brown 2006-05-27 13:43:56 +00:00
  • 6c50564724 Make PKB_ZLEN the minimum possible size of packet buffer (to allow for hardware that can't autopad). Michael Brown 2006-05-27 13:39:45 +00:00
  • 1dbafa8950 Tidied up debugging messages Michael Brown 2006-05-27 13:38:49 +00:00
  • aa2468babe Added abstraction layer for a three-wire serial device (e.g. the EEPROM used on RTL8139 cards). Michael Brown 2006-05-26 15:39:24 +00:00
  • 2f392ee13e Need write permission to /dev/net/tun, not just read. Michael Brown 2006-05-26 08:15:31 +00:00
  • 9f86754f90 Updated to work with libprefix. Michael Brown 2006-05-25 22:04:47 +00:00
  • 29340d7728 Documented the fact that the prefix can prot_call(main) without worrying about its stack being destroyed during the Etherboot run. Michael Brown 2006-05-25 22:04:17 +00:00
  • 0479e9f541 relocate.o is now dragged in by the objects that require it; there is no need for a CONFIG_RELOCATE. Michael Brown 2006-05-25 01:34:13 +00:00
  • 3204a1e941 Removed some obsolete INIT_XXX constants. Michael Brown 2006-05-25 01:09:06 +00:00
  • d82f71efd0 Also hide base memory region from E820 map. Michael Brown 2006-05-25 00:10:58 +00:00
  • 89da833c5d init_librm() and prot_call() are now real-mode far calls. Michael Brown 2006-05-25 00:06:45 +00:00
  • 4d81b48504 Has been obsolete for a while. Michael Brown 2006-05-25 00:04:37 +00:00
  • 1966945a5d Update relocate() to work with get_memmap(). Michael Brown 2006-05-25 00:04:13 +00:00
  • f939ff7cb5 Fix printf format warning error Michael Brown 2006-05-25 00:02:27 +00:00
  • 3bd3c13c7b Why should pushal/popal put the registers on the stack in a logical order? Michael Brown 2006-05-25 00:01:46 +00:00
  • dd75965057 Typo. Michael Brown 2006-05-25 00:00:53 +00:00
  • e4f8d6eed7 Add a "count" field to struct memory_map. Michael Brown 2006-05-25 00:00:30 +00:00
  • 986f6ffff1 Define a struct memory_map with a fixed number of entries, rather than requiring each caller to decide how many entries it wants to permit. Michael Brown 2006-05-24 14:41:27 +00:00
  • edcf89e2b0 Remove the automatic segment register save and restore; most users of REAL_CODE() don't need it. Michael Brown 2006-05-24 14:11:36 +00:00
  • 02cf755f3f Removed REAL_EXEC(); there is no longer any code using it. Michael Brown 2006-05-24 14:10:15 +00:00
  • 103aff3ae2 Added potentially required "\n\t" on the end of asm_code_str Michael Brown 2006-05-24 14:06:28 +00:00
  • 190276a8b6 NBI is due for removal Michael Brown 2006-05-24 13:53:35 +00:00
  • 52125e158c Will be replaced with a block-device implementation. Michael Brown 2006-05-24 13:52:46 +00:00
  • 8110f9b082 Updated to REAL_CODE() Michael Brown 2006-05-24 13:50:40 +00:00
  • 595f161b51 Updated to REAL_CODE(). Michael Brown 2006-05-24 13:48:16 +00:00
  • e8550035af Updated to REAL_CODE() Michael Brown 2006-05-24 13:28:39 +00:00
  • c4d688c005 Updated to REAL_CODE(). Michael Brown 2006-05-24 13:24:22 +00:00
  • 04d6005d77 Update to REAL_CODE() Michael Brown 2006-05-24 12:45:50 +00:00
  • 6631f46999 Updated to REAL_CODE(). Michael Brown 2006-05-24 12:32:57 +00:00
  • 53935e9dc6 Set carry flag before calling INT 15,e801 and INT 15,e820. Michael Brown 2006-05-24 12:19:16 +00:00
  • 7a53d07027 Split out REAL_CODE() from REAL_EXEC(), preparatory to removing REAL_EXEC completely. Michael Brown 2006-05-24 09:51:04 +00:00
  • 83d80d9e79 Remove references to obsoleted REAL_CALL from documentation. Michael Brown 2006-05-24 09:16:48 +00:00
  • 3b525385af Removed REAL_FRAGMENT and REAL_CALL, and left just REAL_EXEC (which is the only one we actually use). This allows REAL_EXEC fragments to contain proper references to constraints (e.g. "%w0"), rather than having to force the use of specific registers. Michael Brown 2006-05-24 09:14:44 +00:00
  • 77a65075a6 Replaced memsizes.c with smaller memmap.c, taking advantage of __data16, and creating a memory map that's easier to work with than the E820 map. Michael Brown 2006-05-24 01:37:46 +00:00
  • 5e80847827 Code to install the new E820 mangler (which doesn't require copying down to base memory, since it is now in the base-memory-resident .text16 section). Michael Brown 2006-05-23 23:47:05 +00:00
  • 897313007b Add __{text,data}16_array, since there's no way I can see to make the usual __{text,data}16 trick work with arrays. gcc seems to accept the __asm__ ( asmlabel ) only after the [] of the array declaration, not before. Michael Brown 2006-05-23 23:42:45 +00:00
  • 5ec2b2c251 Cope with regions bigger than 4GB. Michael Brown 2006-05-23 23:33:37 +00:00
  • 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 Dan Lynch 2006-05-22 17:03:41 +00:00
  • 84a493b88d Allow vcprintf() to be called by external code such as the curses library. Michael Brown 2006-05-22 15:41:01 +00:00
  • f778500739 - fixes to _wputch to get positioning and wrap working properly - fixes to wborder (same) - addition of a few minor functions Dan Lynch 2006-05-22 13:10:19 +00:00
  • 95956443e1 Fixed debug code Michael Brown 2006-05-21 16:04:41 +00:00
  • 9dfb9d84b4 Made the LBA48 example clearer. Michael Brown 2006-05-21 16:02:38 +00:00
  • 80958ff69c Added (untested) support for ATA devices. This code should be generic enough to support both real IDE chipsets and AoE. Michael Brown 2006-05-21 16:01:23 +00:00
  • ca2519cea3 Refactored to reduce code size; now down from 1304 to 1105 bytes. Michael Brown 2006-05-20 15:33:32 +00:00
  • af4aacb978 Added missing @file block Michael Brown 2006-05-20 13:25:07 +00:00
  • 4d0a0f822d Use insb/outsb; it's marginally faster. Michael Brown 2006-05-20 12:28:44 +00:00
  • 402ba15c64 READ CAPACITY (16) turns out to be an optional command (even though 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". Michael Brown 2006-05-19 18:54:38 +00:00
  • 444b885a7d Add EOVERFLOW==ERANGE Michael Brown 2006-05-19 18:53:12 +00:00
  • b9cbae58fa Expert advice tells me that we *do* have to explicitly state the options even when we want to use the defaults. Michael Brown 2006-05-19 17:50:49 +00:00
  • acf572905c - made some of the bit shifting attribute access simpler (in my mind) - 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 Dan Lynch 2006-05-19 16:22:10 +00:00
  • 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 Dan Lynch 2006-05-19 16:18:08 +00:00
  • d48d0fb1bb Add the concept of a "user pointer" (similar to the void __user * in 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. Michael Brown 2006-05-19 15:06:51 +00:00
  • 0ab92faedb Use typeof(sizeof(...)) to define a size_t. This stops gcc complaining about format errors for %zX arguments. Michael Brown 2006-05-19 14:51:59 +00:00
  • c69c1ec540 Documented login parameters that we negotiate. Michael Brown 2006-05-19 00:31:42 +00:00
  • a280587cde iSCSI writes seem to be working (at least, the ethereal trace shows no errors; still need to verify data integrity). Michael Brown 2006-05-19 00:20:08 +00:00
  • b531bd2bda All uses iscsi_state were removed some time ago; removing the declaration. Michael Brown 2006-05-18 21:38:16 +00:00
  • 53b682f3a2 Re-enable -Wformat, since our printf() is now more standards-conformant. Michael Brown 2006-05-18 21:23:38 +00:00
  • 2814681d20 all window primitives implemented Dan Lynch 2006-05-18 17:51:19 +00:00
  • 7d239660fb Updated to new SourceForge CVS locations, and fix a couple of minor mistakes. Michael Brown 2006-05-18 13:22:32 +00:00
  • 813a052dc3 Set ErrorRecoveryLevel=0 (we don't want to have to handle it). Michael Brown 2006-05-17 17:41:50 +00:00
  • 61d7b8a5ef Added missing drivers/scsi Michael Brown 2006-05-17 17:31:18 +00:00
  • a4143e8c87 Split debug functions out into core/debug.c, so that they can be automatically linked in on demand. Michael Brown 2006-05-17 17:16:24 +00:00
  • 6b6096d28b Strip down i386 PCI configuration space I/O to the bare minimum. A typical build will now include 880 bytes of PCI support code, compared to 2327 bytes in Etherboot 5.4. Michael Brown 2006-05-17 01:12:11 +00:00
  • 15ee09ed10 Restructured PCI subsystem to fit the new device model. Michael Brown 2006-05-16 15:12:06 +00:00
  • fcdab6299c Missed a reference to heap.h. Michael Brown 2006-05-16 15:01:26 +00:00
  • 0afa9db2de Tear out old heap code, replace with code that simply allocates memory for use by malloc(). Michael Brown 2006-05-16 15:00:36 +00:00
  • 689218618f Fix typo Michael Brown 2006-05-16 14:42:43 +00:00
  • 441189c6f8 Kill off the "all devices are boot devices" idea Michael Brown 2006-05-16 14:42:15 +00:00
  • 7cd0390013 Add list_for_each_entry_safe. Michael Brown 2006-05-16 14:14:31 +00:00
  • ceba6ecb75 Added generic device model. Michael Brown 2006-05-16 14:10:21 +00:00
  • 6b514393d3 Change movetoyx(), putc() and getc() to methods of the screen. Michael Brown 2006-05-15 09:51:18 +00:00
  • a2799051b0 fixed build error (danjlynch, repeat: this is *not* perl, this is *not* perl...) Dan Lynch 2006-05-15 09:34:27 +00:00
  • dccc6aed3a lightweight xcurses implementation for etherboot (Michael made me do it...) Dan Lynch 2006-05-15 09:29:48 +00:00
  • 295e11b2b0 Add INT 13,41 (extensions installation check). LILO's MBR now uses linear calls to load the MS-DOS boot sector in my test setup. Michael Brown 2006-05-14 23:46:28 +00:00
  • f25731d08f Split "iSCSI as a SCSI device" out from "iSCSI as a TCP protocol". Michael Brown 2006-05-14 23:29:16 +00:00
  • 29fb77b0a4 Fix a couple of minor typos. Michael Brown 2006-05-14 18:17:29 +00:00
  • 6e42cb95bd Also capture INT 19 as a failure path, to allow for boot sectors that don't conform to BBS (e.g. the one created by mkdosfs). Michael Brown 2006-05-14 14:13:55 +00:00
  • 4435667a00 Add int13_boot(), to allow booting from INT 13 emulated drives. Michael Brown 2006-05-14 13:44:47 +00:00
  • b4f941b257 Specify attributes on .text16. Michael Brown 2006-05-14 13:39:27 +00:00
  • eb6b8e8d70 Handle the '"%c", 0' case correctly. Michael Brown 2006-05-14 11:55:30 +00:00
  • efd6281a35 Correctly handle zero-length buffers. Michael Brown 2006-05-14 11:18:42 +00:00
  • 25f5d114a0 Updated documentation. Michael Brown 2006-05-14 03:31:20 +00:00
  • 2421723a15 Rewrote printf and friends to better support standard C semantics. Michael Brown 2006-05-14 02:51:55 +00:00
  • f99e7a375e At least cope with "%llx" by reading the correct-sized va_arg from the stack, even if we don't yet print it out. Michael Brown 2006-05-13 11:50:52 +00:00
  • 21493646c2 Moved to net/tcp/iscsi.c. Michael Brown 2006-05-13 11:45:49 +00:00
  • 5080668704 Provide access to rm_cs and rm_ds from protected-mode code. Michael Brown 2006-05-13 11:45:31 +00:00
  • dc8d429ec6 Provide a global counter for the number of interrupts hooked. Michael Brown 2006-05-13 11:44:53 +00:00
  • 63499e9cfd Allow re-entrancy and provide a global counter of the number of interrupts hooked. Michael Brown 2006-05-13 11:44:11 +00:00