Michael Brown [Sun, 17 Apr 2005 15:58:39 +0000 (15:58 +0000)]
Add MKCONFIG utility, and add "-I ." to CFLAGS so that we can work
with generated headers.
Michael Brown [Sun, 17 Apr 2005 15:57:34 +0000 (15:57 +0000)]
Use mkconfig.pl to generate fragments from config.h
Don't use -MP to generate phony rules for included files, otherwise
make won't use the pattern rule for config/%.h. :(
Michael Brown [Sun, 17 Apr 2005 15:56:32 +0000 (15:56 +0000)]
If we end up with fragments that are older than config.h, set the
timestamp on config.h to match the oldest fragment, to prevent make
from always attempting to rebuild the fragments.
Michael Brown [Sun, 17 Apr 2005 15:36:15 +0000 (15:36 +0000)]
All .h files in this directory are generated from the top-level config.h
Michael Brown [Sun, 17 Apr 2005 15:31:06 +0000 (15:31 +0000)]
Generate phony targets, so that we don't get screwed by missing config
header files.
Michael Brown [Sun, 17 Apr 2005 15:25:09 +0000 (15:25 +0000)]
First version
Michael Brown [Sun, 17 Apr 2005 14:08:40 +0000 (14:08 +0000)]
Experiment; let's see if we can get individual config header files working.
Michael Brown [Sun, 17 Apr 2005 13:25:43 +0000 (13:25 +0000)]
Found a home for MAKEROM_FLAGS_3c503.
Michael Brown [Sun, 17 Apr 2005 13:16:13 +0000 (13:16 +0000)]
3c509/3c529 no longer use legacy INCLUDE_xxx mechanism.
Michael Brown [Sun, 17 Apr 2005 12:36:45 +0000 (12:36 +0000)]
xstart16() fixed up to use new REAL_EXEC mechanism.
Michael Brown [Sun, 17 Apr 2005 12:17:06 +0000 (12:17 +0000)]
Made copy_{to,from}_real volatile, so that they don't get optimised away.
Added REAL_FRAGMENT(), because it could conceivably be useful.
Michael Brown [Sun, 17 Apr 2005 11:47:18 +0000 (11:47 +0000)]
We don't refer to _bss and _ebss any more.
Michael Brown [Sun, 17 Apr 2005 11:40:24 +0000 (11:40 +0000)]
Re-add the "." progress indicator.
Michael Brown [Sun, 17 Apr 2005 10:51:05 +0000 (10:51 +0000)]
Use only the header files that we need
Michael Brown [Sun, 17 Apr 2005 10:48:56 +0000 (10:48 +0000)]
Need stddef.h to get size_t
Michael Brown [Sun, 17 Apr 2005 10:45:13 +0000 (10:45 +0000)]
printf and sprintf now defined in vsprintf.h, drag in console.h to get
putchar() as well.
Michael Brown [Sun, 17 Apr 2005 10:44:26 +0000 (10:44 +0000)]
Gave vsprintf.c its own header file, and made console.h include it.
Michael Brown [Sun, 17 Apr 2005 10:25:06 +0000 (10:25 +0000)]
Automatically drag in console.h if DBG() is being defined as printf().
Michael Brown [Sat, 16 Apr 2005 23:47:47 +0000 (23:47 +0000)]
Need to prevent intermediate targets from being deleted, otherwise the
trick with "touch -B 2" doesn't work because the file that we're
carefully timestamping just gets deleted anyway.
Michael Brown [Sat, 16 Apr 2005 23:33:52 +0000 (23:33 +0000)]
Use the correct case for -Ddebug_<object>
Michael Brown [Sat, 16 Apr 2005 23:28:36 +0000 (23:28 +0000)]
Improved building of debugging objects. You can now specify a "DEBUG="
list for any build, e.g.
make bin/pnic.dsk DEBUG=pci,pnic
This will drag in debugging-enabled versions of pci.c and pnic.c.
Michael Brown [Sat, 16 Apr 2005 17:30:37 +0000 (17:30 +0000)]
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...
Michael Brown [Sat, 16 Apr 2005 17:09:52 +0000 (17:09 +0000)]
Avoid signed/unsigned warnings by explicitly making PCI_{BUS,DEV,FUNC}
all return unsigned quantities.
Michael Brown [Sat, 16 Apr 2005 14:54:11 +0000 (14:54 +0000)]
...this time with the correct syntax. :(
Michael Brown [Sat, 16 Apr 2005 14:53:27 +0000 (14:53 +0000)]
Added activate_isapnp_device() line
Michael Brown [Sat, 16 Apr 2005 14:50:41 +0000 (14:50 +0000)]
Optimise ISAPNP_READ_PORT_STEP
Michael Brown [Sat, 16 Apr 2005 14:42:48 +0000 (14:42 +0000)]
Remove debugging call to getchar()
Michael Brown [Sat, 16 Apr 2005 14:41:04 +0000 (14:41 +0000)]
Now known to work with an old Adaptec 1505 that I found lying around.
Michael Brown [Sat, 16 Apr 2005 11:43:16 +0000 (11:43 +0000)]
Consistency
Michael Brown [Sat, 16 Apr 2005 11:42:56 +0000 (11:42 +0000)]
Speed up PCI bus scanning by skipping fns 1-7 if fn 0 is not present.
Michael Brown [Sat, 16 Apr 2005 11:16:31 +0000 (11:16 +0000)]
Read number of PCI buses returned by BIOS so that we can scan more
quickly.
Michael Brown [Sat, 16 Apr 2005 10:19:13 +0000 (10:19 +0000)]
Improved debugging output
Michael Brown [Sat, 16 Apr 2005 10:04:56 +0000 (10:04 +0000)]
Made debug messages more consistent.
Michael Brown [Sat, 16 Apr 2005 09:57:19 +0000 (09:57 +0000)]
Improved debug messages.
Prevented find_pci_device() from being an endless loop.
Michael Brown [Sat, 16 Apr 2005 09:35:42 +0000 (09:35 +0000)]
CONFIG_PCI_DIRECT no longer exists
Michael Brown [Sat, 16 Apr 2005 09:35:17 +0000 (09:35 +0000)]
Add ISA_PROBE_ADDRS list.
Michael Brown [Sat, 16 Apr 2005 09:30:48 +0000 (09:30 +0000)]
Make isa_probe_addr a simple integer rather than a struct, to facilitate
specification of ISA_PROBE_ADDRS.
Michael Brown [Fri, 15 Apr 2005 17:09:47 +0000 (17:09 +0000)]
Improve debug message legibility.
Michael Brown [Fri, 15 Apr 2005 17:06:54 +0000 (17:06 +0000)]
Leave some time to see what's going on.
Michael Brown [Fri, 15 Apr 2005 17:03:39 +0000 (17:03 +0000)]
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.
Michael Brown [Fri, 15 Apr 2005 16:58:08 +0000 (16:58 +0000)]
Fixed debug message
Michael Brown [Fri, 15 Apr 2005 16:56:18 +0000 (16:56 +0000)]
Fix debug message
Michael Brown [Fri, 15 Apr 2005 16:52:28 +0000 (16:52 +0000)]
Now compiles.
Michael Brown [Fri, 15 Apr 2005 16:50:36 +0000 (16:50 +0000)]
Don't even try to compile until the code is tidied up.
Michael Brown [Fri, 15 Apr 2005 16:49:46 +0000 (16:49 +0000)]
This at least compiles now. Haven't separated out the EMBEDDED code yet.
Michael Brown [Fri, 15 Apr 2005 16:30:35 +0000 (16:30 +0000)]
Not sure why I made these cosmetic changes, but I appear to have done so.
Michael Brown [Fri, 15 Apr 2005 16:28:14 +0000 (16:28 +0000)]
Added "classical" ISA example.
Michael Brown [Fri, 15 Apr 2005 16:18:56 +0000 (16:18 +0000)]
Added EISA, ISAPnP and MCA examples.
Michael Brown [Fri, 15 Apr 2005 16:08:10 +0000 (16:08 +0000)]
Updated to new PCI bus interface.
Michael Brown [Fri, 15 Apr 2005 15:50:27 +0000 (15:50 +0000)]
Updated to work with new ISAPnP bus code.
Michael Brown [Fri, 15 Apr 2005 15:37:39 +0000 (15:37 +0000)]
We now correctly use logical devices.
Michael Brown [Fri, 15 Apr 2005 15:20:00 +0000 (15:20 +0000)]
Canonicalised tag names
Michael Brown [Fri, 15 Apr 2005 15:16:03 +0000 (15:16 +0000)]
Move the concept of logical devices inside the struct isapnp_device.
Michael Brown [Fri, 15 Apr 2005 14:31:08 +0000 (14:31 +0000)]
Added debugging messages for activation/deactivation of logical devices.
Michael Brown [Fri, 15 Apr 2005 14:27:49 +0000 (14:27 +0000)]
Read current ioaddr and irqno from PnP registers.
Michael Brown [Fri, 15 Apr 2005 13:54:44 +0000 (13:54 +0000)]
Don't verify checksum except after serial isolation
Michael Brown [Fri, 15 Apr 2005 13:18:54 +0000 (13:18 +0000)]
Reduce binary size by factoring out common parameterised calls to
udelay().
Michael Brown [Fri, 15 Apr 2005 13:07:25 +0000 (13:07 +0000)]
Activation code now generalised as well.
Michael Brown [Fri, 15 Apr 2005 12:25:17 +0000 (12:25 +0000)]
Cleaned up isolation protocol.
Michael Brown [Thu, 14 Apr 2005 23:43:34 +0000 (23:43 +0000)]
Standardised debug message.
Michael Brown [Thu, 14 Apr 2005 23:32:36 +0000 (23:32 +0000)]
Standardised debug messages to make it easy to get a bus scan printout
(just build debugging versions of the relevant bus objects).
Michael Brown [Thu, 14 Apr 2005 23:20:56 +0000 (23:20 +0000)]
Cleaner separation of find_t509_device/fill_t509_device.
Michael Brown [Thu, 14 Apr 2005 22:42:57 +0000 (22:42 +0000)]
Moved core/isapnp.c to drivers/bus/isapnp.c
Michael Brown [Thu, 14 Apr 2005 21:18:36 +0000 (21:18 +0000)]
Updated to new ISA API, but this driver probably has deeper problems.
Michael Brown [Thu, 14 Apr 2005 20:02:10 +0000 (20:02 +0000)]
This code is unbelievably ugly, has never been fixed up to work with
relocation and (hence) presumably has not been used since Etherboot 5.0.
Say bye-bye!
Michael Brown [Thu, 14 Apr 2005 19:25:36 +0000 (19:25 +0000)]
Updated to general ISA bus API.
Michael Brown [Thu, 14 Apr 2005 19:10:17 +0000 (19:10 +0000)]
Typo
Michael Brown [Thu, 14 Apr 2005 19:07:53 +0000 (19:07 +0000)]
Updated to common ISA bus API.
Michael Brown [Thu, 14 Apr 2005 18:46:43 +0000 (18:46 +0000)]
Added a generalised ISA device-probing mechanism.
Michael Brown [Thu, 14 Apr 2005 17:52:27 +0000 (17:52 +0000)]
name should be const
Michael Brown [Thu, 14 Apr 2005 15:09:28 +0000 (15:09 +0000)]
Fixed up automatic modifications by hand.
Michael Brown [Thu, 14 Apr 2005 15:00:05 +0000 (15:00 +0000)]
Automatically modified by
perl -pi -0777 -e 's/\s*?if\s*\(\s*!\s*find_pci_device.*?,\s*\&(\w+)\s*\)\s*\)\s*return\s*0;(.*BOOT_DRIVER\s*\(.*?,)(.*?\))/$2 find_pci_boot_device, $1,$3/sm' *.c
Michael Brown [Thu, 14 Apr 2005 14:59:04 +0000 (14:59 +0000)]
Fix up the automatic modifications.
Michael Brown [Thu, 14 Apr 2005 14:49:32 +0000 (14:49 +0000)]
Made amenable to automatic update.
Michael Brown [Thu, 14 Apr 2005 14:48:07 +0000 (14:48 +0000)]
This is the only driver that has a genuine reason to call
find_pci_device() directly.
Michael Brown [Thu, 14 Apr 2005 14:44:33 +0000 (14:44 +0000)]
Automatically updated using
perl -pi -0777 -e 's/(_probe\s*\(\s*struct\s+dev.*?)(\s*\)\s*{.*?$)\s*struct pci_device.*?=\s*pci_device \( dev \);$/${1}, struct pci_device *pci${2}/ms' *.c
sis900 excluded from update
Michael Brown [Thu, 14 Apr 2005 14:31:11 +0000 (14:31 +0000)]
Updated to new device API.
Michael Brown [Thu, 14 Apr 2005 14:30:03 +0000 (14:30 +0000)]
Fix BOOT_DRIVER to assign unique and meaningful name to structure.
Michael Brown [Thu, 14 Apr 2005 14:26:28 +0000 (14:26 +0000)]
bus header files must include dev.h to get struct dev.
Michael Brown [Thu, 14 Apr 2005 13:49:58 +0000 (13:49 +0000)]
Updated to current device API.
Michael Brown [Thu, 14 Apr 2005 13:44:07 +0000 (13:44 +0000)]
Tweak API to allow separation of bus-scanning and device-probing logic.
Michael Brown [Thu, 14 Apr 2005 13:33:03 +0000 (13:33 +0000)]
Separate out bus-scanning and device-probing logic.
Michael Brown [Thu, 14 Apr 2005 12:23:12 +0000 (12:23 +0000)]
Split 3c509.c into 3c509.9 and 3c529.c, with shared code in 3c5x9.c.
Probe mechanisms now use standard EISA and MCA bus methods, with 3c509.c
defining a custom ISA bus to handle the 3c509 contention resolution logic.
Michael Brown [Thu, 14 Apr 2005 12:02:19 +0000 (12:02 +0000)]
Allow for multiple BOOT_DRIVER()s in the same file, provided that they
have different probe functions.
Michael Brown [Thu, 14 Apr 2005 11:55:57 +0000 (11:55 +0000)]
Standardised debug mechanism in place now.
Michael Brown [Thu, 14 Apr 2005 11:50:26 +0000 (11:50 +0000)]
compiler.h is now always included on the command line.
Michael Brown [Thu, 14 Apr 2005 11:47:30 +0000 (11:47 +0000)]
We need the ISA product ID mask available separately for 3c509.c.
Michael Brown [Thu, 14 Apr 2005 11:45:37 +0000 (11:45 +0000)]
Always include compiler.h.
Add bin/%.rebuild rule to quickly force a rebuild of any file.
Add bin/%.o.dbg rule to build a debugging-enabled version of the object.
Michael Brown [Thu, 14 Apr 2005 11:35:45 +0000 (11:35 +0000)]
Automatically create DBG() macro based on debug_<object> macro.
Michael Brown [Thu, 14 Apr 2005 10:10:54 +0000 (10:10 +0000)]
Use the magic of common symbols to allow struct dev to effectively grow at
link time to accommodate whatever bus objects are included.
Michael Brown [Wed, 13 Apr 2005 13:48:26 +0000 (13:48 +0000)]
Stripped references to variables in C code.
Michael Brown [Wed, 13 Apr 2005 13:06:56 +0000 (13:06 +0000)]
EISA support now provided by eisa.c
MCA support now provided by mca.c
Michael Brown [Wed, 13 Apr 2005 12:45:38 +0000 (12:45 +0000)]
Extraced from 3c509.c
Michael Brown [Wed, 13 Apr 2005 12:20:59 +0000 (12:20 +0000)]
Add EISA as a bus type.
Michael Brown [Wed, 13 Apr 2005 12:15:14 +0000 (12:15 +0000)]
Don't use htons, for compatibility with PCI :(
Michael Brown [Wed, 13 Apr 2005 12:11:21 +0000 (12:11 +0000)]
Use __bswap_16, since we're not dealing with quantities to go onto the network.
Michael Brown [Wed, 13 Apr 2005 12:06:33 +0000 (12:06 +0000)]
htons was used in ISAPnP code just due to ISAPnP storing bytes in
reverse order.
Michael Brown [Wed, 13 Apr 2005 12:01:44 +0000 (12:01 +0000)]
Created separate isa_ids.h file and a utility function to print out ISA
IDs in a human-readable format.
Michael Brown [Wed, 13 Apr 2005 03:00:50 +0000 (03:00 +0000)]
Add MCA devices
Michael Brown [Wed, 13 Apr 2005 03:00:30 +0000 (03:00 +0000)]
Minor fixups