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 年之前