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