Michael Brown
3ed40686c9
Added bit-bashing i2c interface code
hace 18 años
Michael Brown
476d02051f
Windows Server 2003 sulks if we feed it an empty region in base memory
as a result of our memory map editing, so strip out any empty regions.
hace 18 años
Michael Brown
6fd1bd0510
Added missing check-in
hace 18 años
Michael Brown
e90b64d625
Added sketch of bit-bashing interface common code
hace 18 años
Michael Brown
17eea9f933
Fix bug with >256 cylinders.
Allow our functions to return a non-zero, non-error status (since the
INT 13 Extensions Check has to return the API version in the register
that is otherwise always used for the error code).
Report a non-zero API version from the INT 13 Extensions Check; GRUB
now uses extended reads.
hace 18 años
Dan Lynch
ad1aca0634
- separated curses.c out into separate source files to optimise
library use later on
- some small mods to existing functions
hace 18 años
Michael Brown
1697c78848
Legacy drivers cannot cope with multiple active devices.
hace 18 años
Michael Brown
fdf62528ca
It's astonishing how long really fundamental bugs can survive without
being noticed...
hace 18 años
Michael Brown
191a906338
Fix some remarkably obvious mistakes in pcidirect.h
hace 18 años
Michael Brown
763b7e2ef9
We now have just romprefix, rather than having isaprefix and pciprefix
hace 18 años
Michael Brown
ef37f78cbe
Cut out almost all the optional code paths, drastically simplifying the
flow of control through this code.
We now always add PCI and PnP headers even for ISA ROMs; there's no harm
in doing so.
UNDI loader is still missing.
hace 18 años
Michael Brown
e7eca7b7cb
Code segment may not be writable; create the temporary pointer to the GDT
on the stack.
hace 18 años
Michael Brown
46253ba618
Calculate _rom_size for the ROM prefix
hace 18 años
Michael Brown
8d0c5f3302
Use byte 6 for the checksum, rather than byte 5. (Byte 5 may be part of
the jmp instruction).
hace 18 años
Michael Brown
02df45352c
Force pci.o to be included.
Print warning message at probe time.
hace 18 años
Michael Brown
754cfdfcf4
Legacy drivers will not pad when necessary
hace 18 años
Michael Brown
7826de3f7e
PNIC doesn't auto-pad.
hace 18 años
Michael Brown
286bf68faf
Added a very quick and dirty compatibility layer, to allow
not-yet-updated drivers to at least function.
hace 18 años
Michael Brown
c3e41e6fd1
Added soon-to-be-requisite missing include.
hace 18 años
Dan Lynch
34cfbf55a4
- added most slk functions
hace 18 años
Michael Brown
d78581297b
Improve tcpdump legibility.
hace 18 años
Michael Brown
6ab4b99f41
Quick hack to avoid trying to use an uninitialised net device.
hace 18 años
Michael Brown
48fb6c6dc2
Updated retry timer mechanism to incorporate smoothed RTT estimation.
AoE now uses the retry timer mechanism.
hace 18 años
Michael Brown
50415b3aca
Make DBG_DISCARD correct
hace 18 años
Michael Brown
1f394c2f7c
Backing out last change; no immediate plans to make the whole block-device
layer asynchronous, so keeping the sync/async boundary within aoedev.c
seems cleanest for now.
hace 18 años
Michael Brown
d6866202f9
Until we have a functioning UDP stack and PXE API again, there's not much
point trying to use the old boot sequence. Replaced with a call to the
AoE demo code, so that people can at least build and try something useful.
hace 18 años
Michael Brown
d21fc3610f
Added sample AoE test code to tree
hace 18 años
Michael Brown
f6d20bb0f4
Put in a method to get the MAC address for the AoE target. (It's not
elegant, but it works).
hace 18 años
Michael Brown
99ef98d0bf
ATA devices are now asynchronous. The ATA layer itself now performs the
async_wait(), though we may wish to move this higher up the stack, and
consider making the block device model asynchronous. (There is only a
marginal cost for synchronous devices, since they can simply call
async_done() before returning; async_wait() will work seamlessly in this
situation).
hace 18 años
Michael Brown
cf96d325d8
Missing from previous checkin.
This is the core portion of the async I/O interface.
hace 18 años
Michael Brown
68125bc441
Added generic asynchronous operations code.
Removed data_in_len and data_out_len from ata_command structure; the
lengths are implied by the sector count and the presence of the data_in
or data_out pointers.
Changed AoE code to use subcommands by default, and made aoe_issue()
nonblocking (with completion via async_wait()).
hace 18 años
Michael Brown
73a449e96b
Added drivers/ata directory (forgot to check this in previously).
hace 18 años
Michael Brown
552b4a178e
One bit of an ASCII character can make a big difference.
hace 18 años
Michael Brown
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.
hace 18 años
Michael Brown
6541338897
Handle multi-sector reads by splitting them into subcommands.
hace 18 años
Michael Brown
9a2a52693d
Initial AoE implementation. Limitations are:
Cannot yet handle reads of more than two sectors
No retransmission
No way to find out a target's MAC address (this proof of concept uses
broadcasts)
These limitations shall not last long! :)
hace 18 años
Michael Brown
6f998cecb3
Use separate data-in and data-out buffers.
Increase code simplicity at the expense of around 64 bytes.
hace 18 años
Michael Brown
6d6252067f
Add ETH_P_AOE
hace 18 años
Michael Brown
35b04b1514
Tidy up comment
hace 18 años
Michael Brown
041a04335e
Fixed assembly on old versions of gas
hace 18 años
Michael Brown
f743de4858
Added tcp_kick(). This speed up LILO and GRUB booting by almost two
orders of magnitude.
hace 18 años
Michael Brown
cd3ecac809
Avoid causing TX overflow on small TX queues.
hace 18 años
Michael Brown
70ef6dbb7c
Rewrote to use the new net driver API, the updated PCI API, and the
generic three-wire serial device support for EEPROM access.
hace 18 años
Michael Brown
69b1f24a97
I have no idea how this ever worked before.
hace 18 años
Michael Brown
6c50564724
Make PKB_ZLEN the minimum possible size of packet buffer (to allow for
hardware that can't autopad).
hace 18 años
Michael Brown
1dbafa8950
Tidied up debugging messages
hace 18 años
Michael Brown
aa2468babe
Added abstraction layer for a three-wire serial device (e.g. the EEPROM
used on RTL8139 cards).
hace 18 años
Michael Brown
9f86754f90
Updated to work with libprefix.
hace 18 años
Michael Brown
29340d7728
Documented the fact that the prefix can prot_call(main) without
worrying about its stack being destroyed during the Etherboot run.
hace 18 años
Michael Brown
0479e9f541
relocate.o is now dragged in by the objects that require it; there is no
need for a CONFIG_RELOCATE.
hace 18 años