commit | 26c9b91a79dff7c702e7ac9ca1f4c188c08be7ef | [log] [tgz] |
---|---|---|
author | Arve Hjønnevåg <arve@android.com> | Wed Nov 20 16:47:54 2019 -0800 |
committer | Arve Hjønnevåg <arve@android.com> | Thu Nov 21 14:04:23 2019 -0800 |
tree | 70ad5e7da8673cae1301f28874558c633dc4f74b | |
parent | 76df41ba485c4b1c319e0e044cf56abb31529b2e [diff] |
[arch][arm] Fix fiq handler for ARM_MERGE_FIQ_IRQ When entering most exceptions on arm, IRQs are masked but FIQs are left unmasked. Simulate the behavior we want by looking at the IRQ mask in SPSR on FIQ entry and restart with FIQs masked as well if only IRQs were masked. This prevents corrupting the LR and SPSR values for the interrupted context as FIQs can trigger a context switch when ARM_MERGE_FIQ_IRQ is enabled. Bug: 122357256 Change-Id: Ice0f5bee13bc4a52eba3a82ce945c9c693d9b224
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.
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