[arch][x86] Add x86 cache operation functions

Accroding to Intel Software Developer's Manual, in the L1 data cache and
L2/L3 unified caches, the MESI (modified, exclusive, shared, invalid)
cache protocol maintains consistency with caches of other processors.

With MESI support, nothing to do when sync cache range.

To peripheral, invalidate and clean cache range are used to ensure
data shared between processor and peripheral always synced.

Bug: 119111590
Change-Id: I66583bf9aa7da9644ea4bd4f1ce0565d3be14987
2 files changed
tree: b740d8cebd5f0ac0d88174ea23a01d8215b38267
  1. app/
  2. arch/
  3. dev/
  4. external/
  5. hosttests/
  6. include/
  7. kernel/
  8. lib/
  9. make/
  10. platform/
  11. target/
  12. tools/
  13. top/
  14. .clang-format
  15. .gitignore
  16. build-config-kerneltests
  17. engine.mk
  18. kerneltests-inc.mk
  19. LICENSE
  20. lk_inc.mk.example
  21. makefile
  22. README.md
README.md

LK

The LK embedded kernel. An SMP-aware kernel designed for small systems.

See https://github.com/littlekernel/lk for the latest version.

See https://github.com/littlekernel/lk/wiki for documentation.

Builds

Build Status

To build and test for ARM on linux

  1. install or build qemu. v2.4 and above is recommended.
  2. install gcc for embedded arm (see note 1)
  3. run scripts/do-qemuarm (from the lk directory)
  4. you should see ‘welcome to lk/MP’

This will get you a interactive prompt into LK which is running in qemu arm machine ‘virt’ emulation. type ‘help’ for commands.

note 1: for ubuntu: sudo apt-get install gcc-arm-none-eabi or fetch a prebuilt toolchain from http://newos.org/toolchains/arm-eabi-5.3.0-Linux-x86_64.tar.xz