home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1999 May / pcp151c.iso / misc / src / install / pci-probing / README < prev    next >
Encoding:
Text File  |  1998-01-06  |  2.6 KB  |  79 lines

  1. This is a quick hack way to get the PCI vendor:dev codes for the
  2. stuff we want to support. 
  3.  
  4. The files 
  5.  
  6.     good-video.lst
  7.     good-eth.lst
  8.     good-scsi.lst
  9.  
  10. contain the latest list of the device IDs we have used. The file
  11.  
  12.     exclude.lst
  13.  
  14. contain the list of entries we ignored. 
  15.  
  16. These lists are based on the file linux/drivers/pci/pci.c
  17. from the kernel source. When a pci.c is to be used, first run the script
  18.  
  19. pcidevinfomerge < pci.c
  20.  
  21. which assumes that the exclude and good-* files exist in the current directory.
  22.  
  23. This command will output to stdout new entries which are not in either
  24. the exclude.lst or the good-*.lst lists. You will need to review these
  25. entries and stick them either in the good-*.lst or exclude.lst lists.
  26. A list of all devices in pci.c can be created with the command
  27.  
  28. pcidevinfo < pci.c
  29.  
  30. Once a good list is made, run the command
  31.  
  32. makepciids
  33.  
  34. It uses /usr/include/linux/pci.h by default for some information. 
  35. If you have a newer kernel pci.c you want to integrate, you'll have to
  36.  make sure either /usr/include/linux/pci.h is also updated, or you
  37. specift the include file on the command line to makepciids.
  38.  
  39. Running 'makepciids' will output some C code which defines a struct
  40. with the vendor/dev ids converted to numeric values. This ASSUMES that
  41. the pci.h include file used is recent enough to contain all the
  42. vendor/device ids in the pci.c file used to make the good-list.lst. 
  43. The output of 'makepciids' will be stored in pci-ids-temp.h.
  44.  
  45. The last step is to convert the English device names in the C code in
  46. pci-ids-temp.h to the correct module name. This requires a mapping
  47. file, which must be named map-[eth,scsi,video].lst. Then run the
  48. command
  49.  
  50. mappcinames < pci-ids-temp.h > pci-ids.h
  51.  
  52. This final output can be integrated into source code and give you a
  53. mapping from pci vendor:device id into a module. BTW, if no mapping
  54. exists for a certain PCI id, the value "UNKNOWN" is used for the
  55. module. Calling code should check the returned value against this to be
  56. sure a valid mapping exists!
  57.  
  58. After done, make sure to cvs checkin the newest versions of these files,
  59. and then cvs update all the code which cares. At the moment I know that
  60. the following programs depend on this code:
  61.  
  62. RH install
  63. Xconfigurator
  64.  
  65. Special Notes for map-video.lst
  66. -------------------------------
  67. Instead of specifying a module to load, the mapping entries for video
  68. cards lists either a 'Server:xxx' or a 'Card:xxxx' as the mapping. This
  69. tells Xconfigurator to either the the server XF86_xxx, or the CardDB
  70. entry 'xxxx'.  I tried to use the card entry when possible, so I picked
  71. 'Card:S3 864 (generic)' over 'Server:S3'.
  72.  
  73.  
  74.  
  75.  
  76.  
  77.  
  78.  
  79.