Commit Graph

230 Commits (bc985ca08970951e2ba0ca16cb6eff17eedc1848)

Author SHA1 Message Date
Michael Brown 15ee09ed10 Restructured PCI subsystem to fit the new device model.
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).
2006-05-16 15:12:06 +00:00
Michael Brown 832807726a Add infrastructure to support access to .data16 (and .text16) variables
from protected-mode code.

Set up %ds to point to .data16 in prot_to_real, so that code specified
via REAL_EXEC() and friends can access variables in .data16.

Move most real-mode librm variables from .text16 to .data16.
2006-05-04 23:14:06 +00:00
Michael Brown f8f75cef5b BSS is now zeroed by libprefix (along with the otherwise non-zeroable
portions such as the stack) during the installation process.

init_fns() are called from main().  We need to think about initial
control flow some more.
2006-05-02 21:10:45 +00:00
Michael Brown cc23057b59 Typo 2006-05-02 21:09:29 +00:00
Michael Brown 10c28a51bd Create two easy-to-use entry points in libprefix: install and
install_prealloc.  I *think* these will suffice for all the 16-bit
prefixes.
2006-05-02 20:51:07 +00:00
Michael Brown 9fcded3d23 Towards a(nother) new real-mode infrastructure, in which we take
advantage of the fact that we have to have a permanently-resident block
in base memory.
2006-05-02 15:41:21 +00:00
Michael Brown 5463169c1a Verified as working 2006-05-02 14:04:21 +00:00
Michael Brown d081d65d48 This should be much more elegant: we use flat real mode for the
highmem data, so decompress16 will be able to unpack blocks bigger
than 64kB.
2006-05-01 22:35:19 +00:00
Michael Brown cc8821a443 Checking in because I don't want to lose this rather neat code for
running the decompresser in 16:16 protected mode using the real-mode
stack.  However, there's an even simpler way to do it...
2006-05-01 21:26:44 +00:00
Michael Brown 824d6ffa7f Header rearrangement.
I want to get to the point where any header in include/ reflects a
standard user-level header (e.g. a POSIX header), while everything that's
specific to gPXE lives in include/gpxe/.  Headers that reflect a Linux
header (e.g. if_ether.h) should also be in include/gpxe/, with the same
name as the Linux header and, preferably, the same names used for the
definitions.
2006-04-24 15:42:49 +00:00
Michael Brown cdf1511d3e Prefix semantics have changed 2006-03-16 19:28:38 +00:00
Michael Brown bb7394b041 Merge from Etherboot 5.4 2006-03-16 17:59:51 +00:00
Michael Brown 5d28bae0f1 Fix up building with gcc 4.0.1 / gas 2.16.91 2006-01-17 01:47:41 +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 d5789ff4a2 Doxygenation 2005-05-20 11:28:27 +00:00
Michael Brown d3dec7c331 Update to cope with changes in registers.h 2005-05-20 11:23:51 +00:00
Michael Brown 698f86f25a Prevent hundreds of errors from "make symcheck". The prefix exit path
mechanism has changed anyway, and so must be rewritten, but at least doing
this makes the output of "make symcheck" more legible.
2005-04-23 14:57:53 +00:00
Michael Brown 84f43ea9cf isapnp_read_port can be set directly, rather than via a function call. 2005-04-22 16:03:25 +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 e74bbaeca0 First versions 2005-04-19 14:17:42 +00:00
Michael Brown e44e5c7247 compiler.h is now always included on the command line. 2005-04-14 11:50:26 +00:00
Michael Brown 3714946709 arch_rm_main no longer exists. 2005-04-10 18:19:59 +00:00
Michael Brown 43417e6c1b setup16() now calls initialise(); we don't have to do it. 2005-04-10 16:48:04 +00:00
Michael Brown 792f34d228 #ifdef 0 out the UNDI loader routine, since it refers to the obsolete
callback mechanism.
2005-04-09 11:17:29 +00:00
Michael Brown 0ff80b477d Merged mcb30-realmode-redesign back to HEAD 2005-04-08 15:01:17 +00:00
Michael Brown afff2b50f1 Obsolete; not referenced by anything. 2005-03-09 14:16:01 +00:00
Michael Brown 168973a5d7 Obsolete; not reference by anything. 2005-03-09 14:11:45 +00:00
Michael Brown 6d4d056202 Obsolete; not referenced by anything. 2005-03-09 14:09:29 +00:00
Michael Brown 10d9f9cec8 Obsolete and no longer used 2005-03-09 14:05:32 +00:00
Michael Brown 3d6123e69a Initial revision 2005-03-08 18:53:11 +00:00