[kernel][arm64][mmu] use 4K page granules for the bootstrap trampoline

Currently the start.S code is more clever than it probably should be and
compile time decides what size page granules to use to map the large
(1GB/512MB) page around the current code at boot to trampoline to the
high address. It's currently set to use 64KB page granules in the
temporary address space it uses. This is generally fine except 64K pages
are technically optional according to the ARM ARM.

Switch to using 4K pages always which are more or less mandatory, or at
least mandatory to zircon. This avoids any issues booting on cpus that
don't support 64K pages.

This reduces the size of the physical address space the kernel needs to
be physically located in at boot time, but 39 bits is still pretty good,
and it's unlikely we'll encounter a cpu where the kernel is loaded
outside of that range.

Change-Id: Idc962ebf39d689ec124f20392f910d38824c0b3c
Reviewed-on: https://fuchsia-review.googlesource.com/c/fuchsia/+/464055
Commit-Queue: Travis Geiselbrecht <travisg@google.com>
Reviewed-by: Adrian Danis <adanis@google.com>
1 file changed
tree: dfc8a50f99486b00cbb60c610ea4569d5ef570f5
  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.