home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 11 Util / 11-Util.zip / pcicf119.zip / BLANK.PCI < prev    next >
Text File  |  1998-06-27  |  5KB  |  112 lines

  1. %! Detailed register description file for PCICFG.EXE by Ralf Brown
  2. %!
  3. %! Filename VVVVDDDD.PCI = Vendor VVVVh, Device DDDDh 
  4. %! Last Edit 27jun98 by Ralf Brown
  5. %!
  6.  
  7. Everything preceding a line beginning with the six characters "!begin" is
  8. a comment and will be ignored (with the proviso that the total file size
  9. not exceed 64K).  Everything from the !begin line to a line starting with
  10. the four characters "!end" forms part of the device description, in a
  11. format similar to that used for printf().
  12.  
  13. To create your own device description file for PCICFG, copy this file to
  14. a file in the same directory containing PCICFG.EXE called VVVVDDDD.PCI,
  15. where VVVV are the four hexadecimal digits of the PCI vendor ID reported
  16. by PCICFG, and DDDD are the four hexadecimal digits of the PCI device
  17. ID.  Then, place the appropriate formatting directives between the
  18. "!begin" and "!end" lines below.
  19.  
  20.  
  21.    format spec:
  22.       everything is literal except backslashes and conversion ops
  23.       introduced by a percent sign; the percent-sign is followed by
  24.       PCI field specifier, an optional print width, and the conversion
  25.       character
  26.     
  27.       conversion characters:
  28.      <newln>  ignore the newline and paste together the two lines
  29.      %      literal percent sign
  30.      !      rest of line is a comment and is skipped
  31.      b      print number in binary
  32.      o      print number in octal
  33.      d      print number in decimal
  34.      x      print number in hexadecimal
  35.      e      print boolean value as "disable" (false) or "enable" (true)
  36.      E      print boolean value as "enable" (false) or "disable" (true)
  37.      f      print boolean value as dash (false) or check mark (true)
  38.      n      print boolean value as Y (false) or N (true), i.e. inverted
  39.      N      print boolean as Yes (false) or No (true), i.e. inverted
  40.      y      print boolean value as N (false) or Y (true)
  41.      Y      print boolean value as No (false) or Yes (true)
  42.      (name)      print enumerated value given by enum spec "name"
  43.      {xyz}      print Nth character in "xyz" (prints last if N > # chars)
  44.      /lit/      print literal string if boolean is true, dashes otherwise
  45.      |a1;a2;a3;a4|  select among 2-4 alternate values (index 0-3), prints
  46.              last alternative given if N > # alternatives
  47.  
  48.       backslash conversions supported:
  49.          \t    tab character
  50.      \\    literal backslash
  51.      \X    (any X not listed above:) literal X
  52.  
  53.       PCI field specifier:
  54.      '[' hex-address ']'        entire byte at offset 'hex-address'
  55.      '[' addr ':' bitnum ']'    bit 'bitnum' of byte at offset 'addr'
  56.      '[' addr ':' bit1 '-' bit2 ']'
  57.                     bits 'bit1' to 'bit2' of byte at 'addr'
  58.          '[' bitfield-spec '|' bitfield-spec ... ']'
  59.                     concatenate multiple bitfields (MS first)
  60.          any of the above may also add the following modifiers just prior to
  61.        the closing bracket or a separating vertical bar:
  62.            '<' shift        shift the field left 'shift' bits
  63.            '*' mult            multiply the field's value by 'mult'
  64.            '+' offset        add 'offset' to the field value
  65.            '<' shift '+' offset
  66.                     shift left and then add
  67.            '*' mult '+' offset  multiply and then add
  68.          bit numbers up to 31 are fully supported, and address the appropriate
  69.        byte beginning at the specified address; all fields are treated as
  70.        32-bit values internally.  Bit numbers above 31 are supported
  71.        provided that the indicated field does not occupy more than four
  72.        bytes (i.e. if the low bit is not a multiple of 8, the maximum field
  73.        size is less than 32 bits).
  74.       Note: addresses are in hex, all other values are decimal (unsigned except
  75.          for 'offset', which may include a leading minus sign after the plus
  76.      sign introducing it)
  77.  
  78.       When printing, an explicit width greater than the item's actual width
  79.          causes the addition of padding on the left to ensure the desired
  80.      width; the padding uses blanks for all formats except binary (b),
  81.      octal (o), and hexadecimal (x) numbers, which use zeros.
  82.  
  83.  
  84. !begin
  85.  
  86.   %! insert device description here
  87.  
  88. !end
  89.  
  90. ; everything between the above !end line and a following !enum line is also
  91. ; a comment
  92.  
  93. !enum enum-name
  94.  Value0
  95.  Value1
  96.  Value2
  97.  ...
  98.  ValueN  (also used for any values > N)
  99. !end
  100.  
  101. ; enums are matched by name; first, an exact match is attempted, then the
  102. ;  first named enum starting with the string in the (enum) is selected
  103. ; name matches are case-sensitive!
  104. ;
  105. ; leading and trailing whitespace is ignored, allowing you to indent the
  106. ;  value strings without forcing the space to appear in the output; if you
  107. ;  really do need to retain leading or trailing whitespace, add a backslash
  108. ;  to the beginning or end of the line
  109.  
  110.  
  111. %! end of file
  112.