Michael Brown
c3e41e6fd1
Added soon-to-be-requisite missing include.
18 роки тому
Michael Brown
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.
(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.)
18 роки тому
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).
18 роки тому
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.
18 роки тому
Michael Brown
0e494614b5
Some versions of doxygen seem to object to "@ret None" or similar.
19 роки тому
Michael Brown
a96759f9c8
Use "#var" rather than "@c var" for doxygen.
19 роки тому
Michael Brown
f88c0d42d5
Doxygenation
19 роки тому
Michael Brown
282b6f1a1a
isa.c uses the new table infrastructure.
19 роки тому
Michael Brown
e301acc0d4
Add isapnp_max_csn to reduce scan time.
19 роки тому
Michael Brown
3dbdeb588f
ISA bus driver updated to report devices as present only if a driver
thinks they are.
Other bus drivers modified for consistency.
19 роки тому
Michael Brown
5bace628ae
Added "name" field to bus structure.
19 роки тому
Michael Brown
db3a44b66d
Debug message fixes.
19 роки тому
Michael Brown
441ee4f8f3
Need to leave structure zeroed
19 роки тому
Michael Brown
feb652709d
Must not go beyond end of driver's probe list.
19 роки тому
Michael Brown
1e156f537b
Consistency
19 роки тому
Michael Brown
3e8c2aa78b
Fix up fill_mca_nic.
19 роки тому
Michael Brown
97346a75f7
Added friendly enable/disable functions
19 роки тому
Michael Brown
924143661a
Updated all common buses to new API.
19 роки тому
Michael Brown
cfe3a663af
Tweaked API to minimise changes to existing drivers even further.
19 роки тому
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.
19 роки тому
Michael Brown
928c388c6f
bswap_16() exists; no need to use __bswap_16()
19 роки тому
Michael Brown
cf79681b80
Fix BUILD_SERIAL.
Change from using #if to #ifdef, since #if can't cope with string
constants.
19 роки тому
Michael Brown
85b00c4b72
Move RELOCATE into config.h
Move ISA probe address logic from config.c into isa.c, create header file
config/isa.h.
19 роки тому
Michael Brown
03346742c0
Use only the header files that we need
19 роки тому
Michael Brown
5ca20abf95
Place the call to adjust_pci_device() back in the individual drivers,
since we probably shouldn't be doing this to arbitrary devices during a
PCI bus scan...
19 роки тому
Michael Brown
86d2127204
Remove debugging call to getchar()
19 роки тому
Michael Brown
c659a54f70
Now known to work with an old Adaptec 1505 that I found lying around.
19 роки тому
Michael Brown
7bd3e883d7
Consistency
19 роки тому
Michael Brown
e29be5e342
Speed up PCI bus scanning by skipping fns 1-7 if fn 0 is not present.
19 роки тому
Michael Brown
6e5a3858bf
Read number of PCI buses returned by BIOS so that we can scan more
quickly.
19 роки тому
Michael Brown
e1a9798af4
Improved debugging output
19 роки тому
Michael Brown
ed7b9109be
Made debug messages more consistent.
19 роки тому
Michael Brown
211a607147
Improved debug messages.
Prevented find_pci_device() from being an endless loop.
19 роки тому
Michael Brown
9f02376409
Make isa_probe_addr a simple integer rather than a struct, to facilitate
specification of ISA_PROBE_ADDRS.
19 роки тому
Michael Brown
a60aadf9e9
Improve debug message legibility.
19 роки тому
Michael Brown
8aa3b9d972
Need to do isolation when find_isapnp_device is first called,
otherwise isapnp_max_csn is zero and we never call fill_isapnp_device.
Fix debug message.
19 роки тому
Michael Brown
39cb4d8dbb
Fix debug message
19 роки тому
Michael Brown
e6e43a2f2f
We now correctly use logical devices.
19 роки тому
Michael Brown
d11ea1e44b
Added debugging messages for activation/deactivation of logical devices.
19 роки тому
Michael Brown
888277d2d1
Read current ioaddr and irqno from PnP registers.
19 роки тому
Michael Brown
ab443ba4b0
Don't verify checksum except after serial isolation
19 роки тому
Michael Brown
120192e8d1
Reduce binary size by factoring out common parameterised calls to
udelay().
19 роки тому
Michael Brown
85dd4fd8d6
Activation code now generalised as well.
19 роки тому
Michael Brown
1980018b8b
Cleaned up isolation protocol.
19 роки тому
Michael Brown
344ea224b4
Standardised debug message.
19 роки тому
Michael Brown
ed92171527
Standardised debug messages to make it easy to get a bus scan printout
(just build debugging versions of the relevant bus objects).
19 роки тому
Michael Brown
f78fd79c16
Moved core/isapnp.c to drivers/bus/isapnp.c
19 роки тому
Michael Brown
9eac705dd2
Added a generalised ISA device-probing mechanism.
19 роки тому
Michael Brown
9183f2412e
bus header files must include dev.h to get struct dev.
19 роки тому
Michael Brown
104880ca19
Tweak API to allow separation of bus-scanning and device-probing logic.
19 роки тому