[zircon][system] Extract scsilib from virtio into a common library

scsilib is a library to construct a Fuchsia block device on a SCSI
Direct Access Block Device. It implements some of the complex SCSI-3
probe sequence and is used by virtio-scsi.

For expediency it was originally written as part of virtio/scsi;
extract it to a common location so UMS and UASP and UFS could use it.

ZX-2314

Tested:
./scripts/run-zircon-x64 -- \
    -drive if=none,id=hd,file=/tmp/blk.img \
    -device virtio-scsi-pci,id=scsi  \
    -device scsi-hd,drive=hd,scsi-id=1,lun=1 \
    \
    -drive if=none,id=hd2,file=/tmp/blk2.img \
    -device scsi-hd,drive=hd2,scsi-id=2,lun=1

$ lsblk
ID  SIZE TYPE             LABEL                FLAGS  DEVICE
000  16M                                              /dev/sys/pci/00:02.0/virtio-scsi/scsi-disk-1-1/block
001  16M                                              /dev/sys/pci/00:02.0/virtio-scsi/scsi-disk-2-1/block
$

Change-Id: Id6480a49ddc870fccc03e6a6311772901fbeee2e
7 files changed
tree: 9fb39d14fe17e322f3ae9589a9c2b2e7c51aaf10
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. peridot/
  9. products/
  10. scripts/
  11. sdk/
  12. src/
  13. third_party/
  14. tools/
  15. zircon/
  16. .clang-format
  17. .dir-locals.el
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. AUTHORS
  22. BUILD.gn
  23. CODE_OF_CONDUCT.md
  24. CONTRIBUTING.md
  25. LICENSE
  26. OWNERS
  27. PATENTS
  28. README.md
  29. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.