Commit Graph

268 Commits (fba7f011d2cd5d6e51f551262ec56adde52bdd76)

Author SHA1 Message Date
Michael Brown 6e4888400c Avoid deleting .cvsignore 2005-04-17 16:24:36 +00:00
Michael Brown 1acea7d21f Serial port configuration moved to config.h 2005-04-17 16:18:20 +00:00
Michael Brown de965fde64 Whoops 2005-04-17 16:16:02 +00:00
Michael Brown 64e1df4af6 Allow serial port options to be specified in a relatively friendly format. 2005-04-17 16:15:46 +00:00
Michael Brown 6ca5e85a3b Working format. 2005-04-17 16:01:13 +00:00
Michael Brown b5ee3763c6 Add MKCONFIG utility, and add "-I ." to CFLAGS so that we can work
with generated headers.
2005-04-17 15:58:39 +00:00
Michael Brown b79895c9d6 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.  :(
2005-04-17 15:57:34 +00:00
Michael Brown a107996c9a 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.
2005-04-17 15:56:32 +00:00
Michael Brown 31fdf3da82 All .h files in this directory are generated from the top-level config.h 2005-04-17 15:36:15 +00:00
Michael Brown 04a0de1c92 Generate phony targets, so that we don't get screwed by missing config
header files.
2005-04-17 15:31:06 +00:00
Michael Brown 7b2a0cded1 First version 2005-04-17 15:25:09 +00:00
Michael Brown 8e4c991c24 Experiment; let's see if we can get individual config header files working. 2005-04-17 14:08:40 +00:00
Michael Brown 658fecf7e5 Found a home for MAKEROM_FLAGS_3c503. 2005-04-17 13:25:43 +00:00
Michael Brown 5ee79cf207 3c509/3c529 no longer use legacy INCLUDE_xxx mechanism. 2005-04-17 13:16:13 +00:00
Michael Brown 63e0c8f947 xstart16() fixed up to use new REAL_EXEC mechanism. 2005-04-17 12:36:45 +00:00
Michael Brown 1a6ca649a2 Made copy_{to,from}_real volatile, so that they don't get optimised away.
Added REAL_FRAGMENT(), because it could conceivably be useful.
2005-04-17 12:17:06 +00:00
Michael Brown 8e27e50316 We don't refer to _bss and _ebss any more. 2005-04-17 11:47:18 +00:00
Michael Brown c9d35daffe Re-add the "." progress indicator. 2005-04-17 11:40:24 +00:00
Michael Brown 03346742c0 Use only the header files that we need 2005-04-17 10:51:05 +00:00
Michael Brown a6057b4cbc Need stddef.h to get size_t 2005-04-17 10:48:56 +00:00
Michael Brown f08516791e printf and sprintf now defined in vsprintf.h, drag in console.h to get
putchar() as well.
2005-04-17 10:45:13 +00:00
Michael Brown 664ffea697 Gave vsprintf.c its own header file, and made console.h include it. 2005-04-17 10:44:26 +00:00
Michael Brown 063140864e Automatically drag in console.h if DBG() is being defined as printf(). 2005-04-17 10:25:06 +00:00
Michael Brown ae36de3d80 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.
2005-04-16 23:47:47 +00:00
Michael Brown 9c814cb123 Use the correct case for -Ddebug_<object> 2005-04-16 23:33:52 +00:00
Michael Brown a666eb34b5 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.
2005-04-16 23:28:36 +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 b7c55c3951 Avoid signed/unsigned warnings by explicitly making PCI_{BUS,DEV,FUNC}
all return unsigned quantities.
2005-04-16 17:09:52 +00:00
Michael Brown 66e54f1274 ...this time with the correct syntax. :( 2005-04-16 14:54:11 +00:00
Michael Brown 8c2b42e08e Added activate_isapnp_device() line 2005-04-16 14:53:27 +00:00
Michael Brown 57070797e3 Optimise ISAPNP_READ_PORT_STEP 2005-04-16 14:50:41 +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 25d82dac7a CONFIG_PCI_DIRECT no longer exists 2005-04-16 09:35:42 +00:00
Michael Brown f25383f4c4 Add ISA_PROBE_ADDRS list. 2005-04-16 09:35:17 +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 f04b9cd3ea Leave some time to see what's going on. 2005-04-15 17:06:54 +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 c41e89af41 Fixed debug message 2005-04-15 16:58:08 +00:00
Michael Brown 39cb4d8dbb Fix debug message 2005-04-15 16:56:18 +00:00
Michael Brown 2c2154b169 Now compiles. 2005-04-15 16:52:28 +00:00
Michael Brown d26889cb04 Don't even try to compile until the code is tidied up. 2005-04-15 16:50:36 +00:00
Michael Brown 8c082aa468 This at least compiles now. Haven't separated out the EMBEDDED code yet. 2005-04-15 16:49:46 +00:00
Michael Brown 1bd7b97e5c Not sure why I made these cosmetic changes, but I appear to have done so. 2005-04-15 16:30:35 +00:00
Michael Brown f61fa0dc64 Added "classical" ISA example. 2005-04-15 16:28:14 +00:00
Michael Brown 897eeee4ee Added EISA, ISAPnP and MCA examples. 2005-04-15 16:18:56 +00:00
Michael Brown 38ea910098 Updated to new PCI bus interface. 2005-04-15 16:08:10 +00:00
Michael Brown a26edc2eec Updated to work with new ISAPnP bus code. 2005-04-15 15:50:27 +00:00
Michael Brown e6e43a2f2f We now correctly use logical devices. 2005-04-15 15:37:39 +00:00
Michael Brown 8e375c638d Canonicalised tag names 2005-04-15 15:20:00 +00:00
Michael Brown 05986a848f Move the concept of logical devices inside the struct isapnp_device. 2005-04-15 15:16:03 +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
Michael Brown 344ea224b4 Standardised debug message. 2005-04-14 23:43:34 +00:00
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).
2005-04-14 23:32:36 +00:00
Michael Brown c7694a5322 Cleaner separation of find_t509_device/fill_t509_device. 2005-04-14 23:20:56 +00:00
Michael Brown f78fd79c16 Moved core/isapnp.c to drivers/bus/isapnp.c 2005-04-14 22:42:57 +00:00
Michael Brown d5e1561fb8 Updated to new ISA API, but this driver probably has deeper problems. 2005-04-14 21:18:36 +00:00
Michael Brown 487574fc02 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!
2005-04-14 20:02:10 +00:00
Michael Brown 8165c14e71 Updated to general ISA bus API. 2005-04-14 19:25:36 +00:00
Michael Brown 773d66e6dc Typo 2005-04-14 19:10:17 +00:00
Michael Brown a80fe976ed Updated to common ISA bus API. 2005-04-14 19:07:53 +00:00
Michael Brown 9eac705dd2 Added a generalised ISA device-probing mechanism. 2005-04-14 18:46:43 +00:00
Michael Brown e5b537fed0 name should be const 2005-04-14 17:52:27 +00:00
Michael Brown cee678de7c Fixed up automatic modifications by hand. 2005-04-14 15:09:28 +00:00
Michael Brown 2c60617836 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
2005-04-14 15:00:05 +00:00
Michael Brown 393969a3f8 Fix up the automatic modifications. 2005-04-14 14:59:04 +00:00
Michael Brown 476dff5bb7 Made amenable to automatic update. 2005-04-14 14:49:32 +00:00
Michael Brown cbd5d4f849 This is the only driver that has a genuine reason to call
find_pci_device() directly.
2005-04-14 14:48:07 +00:00
Michael Brown 963dbefb51 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
2005-04-14 14:44:33 +00:00
Michael Brown 72fe23a76e Updated to new device API. 2005-04-14 14:31:11 +00:00
Michael Brown 2e309f9eec Fix BOOT_DRIVER to assign unique and meaningful name to structure. 2005-04-14 14:30:03 +00:00
Michael Brown 9183f2412e bus header files must include dev.h to get struct dev. 2005-04-14 14:26:28 +00:00
Michael Brown e0a8ee385e Updated to current device API. 2005-04-14 13:49:58 +00:00
Michael Brown 104880ca19 Tweak API to allow separation of bus-scanning and device-probing logic. 2005-04-14 13:44:07 +00:00
Michael Brown ce8dea0dff Separate out bus-scanning and device-probing logic. 2005-04-14 13:33:03 +00:00
Michael Brown 4c0d5a0b71 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.
2005-04-14 12:23:12 +00:00
Michael Brown 1f26be34b8 Allow for multiple BOOT_DRIVER()s in the same file, provided that they
have different probe functions.
2005-04-14 12:02:19 +00:00
Michael Brown 44c7cc8c12 Standardised debug mechanism in place now. 2005-04-14 11:55:57 +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 bc85cf756d We need the ISA product ID mask available separately for 3c509.c. 2005-04-14 11:47:30 +00:00
Michael Brown 305daba48a 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.
2005-04-14 11:45:37 +00:00
Michael Brown dcd573afcb Automatically create DBG() macro based on debug_<object> macro. 2005-04-14 11:35:45 +00:00
Michael Brown 75d864432c Use the magic of common symbols to allow struct dev to effectively grow at
link time to accommodate whatever bus objects are included.
2005-04-14 10:10:54 +00:00
Michael Brown 0dc98309b2 Stripped references to variables in C code. 2005-04-13 13:48:26 +00:00
Michael Brown e294a1ddce EISA support now provided by eisa.c
MCA support now provided by mca.c
2005-04-13 13:06:56 +00:00
Michael Brown 200b39a645 Extraced from 3c509.c 2005-04-13 12:45:38 +00:00
Michael Brown a4f1a058a4 Add EISA as a bus type. 2005-04-13 12:20:59 +00:00
Michael Brown 4ae83f28f2 Don't use htons, for compatibility with PCI :( 2005-04-13 12:15:14 +00:00