kernel: add new kernel build target

Used for testing the kernel on qemu, add an entry point that (for now)
assumes cortex-m and calls into a new kernel crate that starts an init
sequence.

Begin to fill in an architecture layer by creating a architecture
interface trait that currently one arch fills in (cortex-m).

Fill in all of the exception handlers in the arch, since we will want to
eventually override all of them anyway, and now we can see if one fires.

build and run the //build/kernel:kernel target

Change-Id: I2fc7841b33f6f78c68bdba28fd01524c6edeed91
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/maize/+/260070
Reviewed-by: Erik Gilling <konkers@google.com>
Lint: Lint 🤖 <android-build-ayeaye@system.gserviceaccount.com>
Commit-Queue: Travis Geiselbrecht <travisg@google.com>
Presubmit-Verified: CQ Bot Account <pigweed-scoped@luci-project-accounts.iam.gserviceaccount.com>
13 files changed
tree: 47565b2d02c39b3e27caceeebafba96679b2a165
  1. arch/
  2. build/
  3. kernel/
  4. lib/
  5. sandbox/
  6. subsys/
  7. target/
  8. .bazelignore
  9. .bazelrc
  10. .bazelversion
  11. .gitignore
  12. AUTHORS
  13. BUILD.bazel
  14. CONTRIBUTING.md
  15. LICENSE
  16. MODULE.bazel
  17. OWNERS
  18. pigweed.json
  19. README.md
README.md

Pigweed Open Source Template Repository

This repository is a template that we will use when creating new open source repositories for Pigweed.