[kernel][arch] Add <lib/arch/x86/msr.h> API

This provides access to x86 Model-Specific Registers in the
lib/arch API.  For now, only a few trivial ones are defined.
This also generates the <lib/arch/x86/msr-asm.h> header that
can be used by assembly code.

Along the way, clean up uses of lib/arch in host code by
separating the host case from the specific target machine cases.
A new "host" sublibrary fills in stubs for the machine-dependent
headers so that machine-independent headers can be used on host.

Test: mostly refactor, still builds; new assembly constants used by later change
Change-Id: I36d21d86beee19d2064f109fe1f7f945c219c559
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/403058
Commit-Queue: Joshua Seaton <joshuaseaton@google.com>
Reviewed-by: Tess Eisenberger <teisenbe@google.com>
Testability-Review: Tess Eisenberger <teisenbe@google.com>
8 files changed
tree: c469f6ed6f7ca584e3b4bae3c3d0a35d1b7ddbf0
  1. boards/
  2. build/
  3. bundles/
  4. cts/
  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. .gitattributes
  18. .gitignore
  19. .gn
  20. .style.yapf
  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 fuchsia.dev.