Michael Brown
7b9617f5df
Add device to hierarchy before calling the driver's probe() function; this
...
way everything remains consistent if the probe() ends up creating child
devices.
2007-01-08 01:29:51 +00:00
Michael Brown
9f953322a1
Remove warning (at least on platforms with uint32_t == unsigned long).
2006-12-20 00:34:53 +00:00
Michael Brown
a646e38f03
Use stdlib.h for malloc() instead of malloc.h.
2006-12-19 23:42:46 +00:00
Michael Brown
88e38fa148
We don't actually have a stdio.h header file. Our printf() functions are
...
defined in vsprintf.h. (This may change, since vsprintf.h is a
non-standard name, but for now it's the one to use.)
There should be no need to include vsprintf.h just for DBG() statements,
since include/compiler.h forces it in for a debug build anyway.
2006-09-27 10:58:14 +00:00
Marty Connor
6ac78f6aff
added stdio.h to includes for DBG compilation
2006-09-27 05:57:06 +00:00
Michael Brown
c3e41e6fd1
Added soon-to-be-requisite missing include.
2006-06-05 15:41:22 +00:00
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.)
2006-05-17 01:12:11 +00:00
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
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
bb7394b041
Merge from Etherboot 5.4
2006-03-16 17:59:51 +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
a96759f9c8
Use "#var" rather than "@c var" for doxygen.
2005-05-20 10:27:02 +00:00
Michael Brown
f88c0d42d5
Doxygenation
2005-05-19 15:35:47 +00:00
Michael Brown
282b6f1a1a
isa.c uses the new table infrastructure.
2005-04-27 12:24:38 +00:00
Michael Brown
e301acc0d4
Add isapnp_max_csn to reduce scan time.
2005-04-26 14:07:30 +00:00
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.
2005-04-26 12:30:14 +00:00
Michael Brown
5bace628ae
Added "name" field to bus structure.
2005-04-25 18:54:15 +00:00
Michael Brown
db3a44b66d
Debug message fixes.
2005-04-22 15:56:57 +00:00
Michael Brown
441ee4f8f3
Need to leave structure zeroed
2005-04-22 15:33:35 +00:00
Michael Brown
feb652709d
Must not go beyond end of driver's probe list.
2005-04-22 12:02:34 +00:00
Michael Brown
1e156f537b
Consistency
2005-04-22 11:56:27 +00:00
Michael Brown
3e8c2aa78b
Fix up fill_mca_nic.
2005-04-22 02:47:39 +00:00
Michael Brown
97346a75f7
Added friendly enable/disable functions
2005-04-22 02:43:24 +00:00
Michael Brown
924143661a
Updated all common buses to new API.
2005-04-22 02:28:16 +00:00
Michael Brown
cfe3a663af
Tweaked API to minimise changes to existing drivers even further.
2005-04-21 19:04:53 +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
928c388c6f
bswap_16() exists; no need to use __bswap_16()
2005-04-21 16:38:28 +00:00
Michael Brown
cf79681b80
Fix BUILD_SERIAL.
...
Change from using #if to #ifdef, since #if can't cope with string
constants.
2005-04-18 12:43:18 +00:00
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.
2005-04-18 11:00:42 +00:00
Michael Brown
03346742c0
Use only the header files that we need
2005-04-17 10:51:05 +00:00
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...
2005-04-16 17:30:37 +00:00
Michael Brown
86d2127204
Remove debugging call to getchar()
2005-04-16 14:42:48 +00:00
Michael Brown
c659a54f70
Now known to work with an old Adaptec 1505 that I found lying around.
2005-04-16 14:41:04 +00:00
Michael Brown
7bd3e883d7
Consistency
2005-04-16 11:43:16 +00:00
Michael Brown
e29be5e342
Speed up PCI bus scanning by skipping fns 1-7 if fn 0 is not present.
2005-04-16 11:42:56 +00:00
Michael Brown
6e5a3858bf
Read number of PCI buses returned by BIOS so that we can scan more
...
quickly.
2005-04-16 11:16:31 +00:00
Michael Brown
e1a9798af4
Improved debugging output
2005-04-16 10:19:13 +00:00
Michael Brown
ed7b9109be
Made debug messages more consistent.
2005-04-16 10:04:56 +00:00
Michael Brown
211a607147
Improved debug messages.
...
Prevented find_pci_device() from being an endless loop.
2005-04-16 09:57:19 +00:00
Michael Brown
9f02376409
Make isa_probe_addr a simple integer rather than a struct, to facilitate
...
specification of ISA_PROBE_ADDRS.
2005-04-16 09:30:48 +00:00
Michael Brown
a60aadf9e9
Improve debug message legibility.
2005-04-15 17:09:47 +00:00
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.
2005-04-15 17:03:39 +00:00
Michael Brown
39cb4d8dbb
Fix debug message
2005-04-15 16:56:18 +00:00
Michael Brown
e6e43a2f2f
We now correctly use logical devices.
2005-04-15 15:37:39 +00:00
Michael Brown
d11ea1e44b
Added debugging messages for activation/deactivation of logical devices.
2005-04-15 14:31:08 +00:00
Michael Brown
888277d2d1
Read current ioaddr and irqno from PnP registers.
2005-04-15 14:27:49 +00:00
Michael Brown
ab443ba4b0
Don't verify checksum except after serial isolation
2005-04-15 13:54:44 +00:00
Michael Brown
120192e8d1
Reduce binary size by factoring out common parameterised calls to
...
udelay().
2005-04-15 13:18:54 +00:00
Michael Brown
85dd4fd8d6
Activation code now generalised as well.
2005-04-15 13:07:25 +00:00
Michael Brown
1980018b8b
Cleaned up isolation protocol.
2005-04-15 12:25:17 +00:00