PageRenderTime 33ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/usr/src/boot/forth/pcibios.4th

https://github.com/illumos/illumos-gate
Forth | 47 lines | 42 code | 5 blank | 0 comment | 4 complexity | 13da39b664cd41d3578fdea339bc93e5 MD5 | raw file
  1. \ Copyright (c) 2014 M. Warner Losh <imp@FreeBSD.org>
  2. \ All rights reserved.
  3. \
  4. \ Redistribution and use in source and binary forms, with or without
  5. \ modification, are permitted provided that the following conditions
  6. \ are met:
  7. \ 1. Redistributions of source code must retain the above copyright
  8. \ notice, this list of conditions and the following disclaimer.
  9. \ 2. Redistributions in binary form must reproduce the above copyright
  10. \ notice, this list of conditions and the following disclaimer in the
  11. \ documentation and/or other materials provided with the distribution.
  12. \
  13. \ THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
  14. \ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  15. \ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  16. \ ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
  17. \ FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  18. \ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  19. \ OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  20. \ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  21. \ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  22. \ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  23. \ SUCH DAMAGE.
  24. \
  25. \ $FreeBSD$
  26. only forth also support-functions also builtins definitions
  27. \ pci-device-count pci-id
  28. \
  29. \ Counts the number of instances of pci-id in the system and reports
  30. \ it to the user.
  31. : pci-device-count
  32. 0= if ( interpreted ) get_arguments then
  33. 0= if ." Need an argument" cr abort then
  34. \ First argument is 0 when we're interprated. See support.4th
  35. \ for get_arguments reading the rest of the line and parsing it
  36. \ stack: argN lenN ... arg1 len1 N
  37. hex ?number decimal
  38. 0= if ." Bad pci-id given (must be legal hex value)" cr abort then
  39. dup pcibios-device-count ." Found " . ." instances of " hex . decimal cr
  40. ;
  41. also forth definitions also builtins
  42. builtin: pci-device-count