[kernel][x86][topology] Refactor x86 topology enumeration

We replace the use of cpu_id::CpuId (deprecated) with the new lib/arch
CpuidIo-based abstractions, specifically leveraging the newly introduced
arch::ApicIdDecoder and arch::CpuCacheInfo.

Existing tests still pass. We also continue to boot fine on QEMU (with
varied topology parameters) and the NUC, not falling back to the
'fallback' topology and dumping out the expected topology on boot.

Bug: 61093
Change-Id: I3348252297412601e6abf1bedb4e485dd2969f4f
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/465898
Commit-Queue: Joshua Seaton <joshuaseaton@google.com>
Reviewed-by: Venkatesh Srinivas <venkateshs@google.com>
Reviewed-by: Travis Geiselbrecht <travisg@google.com>
Reviewed-by: Corey Tabaka <eieio@google.com>
Reviewed-by: Roland McGrath <mcgrathr@google.com>
5 files changed
tree: 2ffae55466b787819a6f974abefb4bf67a6d442c
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. products/
  9. scripts/
  10. sdk/
  11. src/
  12. third_party/
  13. tools/
  14. zircon/
  15. .clang-format
  16. .clang-tidy
  17. .git-blame-ignore-revs
  18. .gitattributes
  19. .gitignore
  20. .gn
  21. .style.yapf
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. README.md
  30. 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.

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.