[bus-pci] Split PCI bus driver for user and kernel implementations

This splits the two definitions of the PCI bus driver (kernel and user
space PCI) into separately named drivers that are included in the
configurations which need them. The driver using user space PCI support
is called 'bus-pci' and is included on all x86_64 and RISC-V
configurations as well as the vim3 and pkvm boards. The driver using
kernel PCI support is called 'bus-kpci' and is used on qemu-arm64.

Previously, the bus was always called 'bus-pci' and its definition was
determined by the platform_enable_user_pci GN argument.

This change modifies the 'arm64' and 'qemu-arm64' boards, both of which
are used in qemu to emulate an arm64 device.

Bug: 42182308
Change-Id: I738116ff8fa81c9332e522b675ae2c51843be861
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/1199464
Reviewed-by: Mike Comfoltey <comfoltey@google.com>
Reviewed-by: Suraj Malhotra <surajmalhotra@google.com>
Reviewed-by: Aidan Wolter <awolter@google.com>
Reviewed-by: Aaron Wood <aaronwood@google.com>
Commit-Queue: James Robinson <jamesr@google.com>
15 files changed
tree: 89c9c76ba67b3b2871f0ea25caaf96eff6aab0b4
  1. .helix/
  2. boards/
  3. build/
  4. bundles/
  5. docs/
  6. examples/
  7. infra/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .editorconfig
  18. .git-blame-ignore-revs
  19. .gitattributes
  20. .gitignore
  21. .gitmodules
  22. .gn
  23. .ignore
  24. analysis_options.yaml
  25. AUTHORS
  26. BUILD.gn
  27. CODE_OF_CONDUCT.md
  28. CONTRIBUTING.md
  29. fuchsia.code-workspace
  30. LICENSE
  31. OWNERS
  32. PATENTS
  33. pyproject.toml
  34. pyrightconfig.json
  35. README.md
  36. rustfmt.toml
  37. shac.star
  38. shac.textproto
README.md

Fuchsia

What is Fuchsia?

Fuchsia is an open source, general purpose operating system supporting modern 64-bit Intel and ARM processors.

We expect everyone interacting with our project to respect our code of conduct.

Read more about Fuchsia's principles.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See fuchsia.dev.