[kernel][x86] Intel: Convert meltdown/l1tf enumeration to use cpuid.h

cpuid.h provides a new(er) C++-y interface to fetch x86 CPUID properties;
switch from using the old C cached cpuid interface to the C++ one.

The C++ cpuid.h interfaces also allow writing unit tests; this will be
interesting in particular for MDS, which has more complex conditions for
when it is present.

Tested:
Meltdown/L1TF enumeration still work:
$ k cpu features
[00006.962] 01219:01240> Vendor: Intel
[00006.962] 01219:01240> Microarch: Haswell
[00006.963] 01219:01240> F/M/S: 6/3c/4
[00006.963] 01219:01240> patch_level: 0
[00006.963] 01219:01240> Brand: Intel Core Processor (Haswell)
[00006.963] 01219:01240> Features: fpu sse sse2 sse3 ssse3 sse4.1 sse4.2 mmx fxsr xsave aesni clflush smep smap erms
[00006.963] 01219:01240> syscall nx rdtscp hypervisor
[00006.963] 01219:01240> Properties: meltdown l1tf

ZX-4185

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