- X86 cpuid feature list dump was using the wrong array and walking off
the end of one.
- GICv2 code had a left shift by up to 31 of an integer. Needs to be
unsigned.
- PLIC same as GIC code.
- fdtwalker code should be using a bytewise accessor based helper
function for reading large integers out of an unaliged FDT.
- PCI BIOS32 search code could do a 32bit unaligned read of a string,
switch to using memcmp.
In the case of platforms where a bios or firmware has not already
assigned all the resources, do so. Requires the platform supply one or
more ranges of physical address space and IO that can be mapped into
BARs.
Handles iterating through bridges, computing the sizes of all the
peripherals downstream and rolling that up as well.
Almost nothing changes here except moving braces to the same line as the
function declaration. Everything else is largely whitespace changes and
a few dangling files with tab indents.
See scripts/codestyle
Ran everything through scripts/codestyle.space, which uses astyle
to generally follow K&R style.
Biggest non whitespace change is pulling brackets down on function
declarations, which I'm pretty ambivalent about, but astyle insists
on taking a stance
It's all in service of a LTRACEF, but it's one I use commonly enough to debug
stuff that it's probably worth it. No actual overhead, except what's already
in the first level handlers.
If WITH_LIB_SM is set, call sm_handle_fiq instead of sm_handle_irq
from platform_fiq. This is needed to allow sm_handle_irq to wake up
a thread instead of switching back to ns from the interrupt handler.
Change-Id: Idc728343bc31c07a3149d68730bd57ee28be08f8
-move the per-cpu initialization of the gic and cortex-a9 timer into an init hook.
This removes the hard coded call in arm/arch.c
-make sure the timer initialization happens in the pre-threading callback, in case
a secondary init hook needs the timer.
Adds shadow registers so secure interrupt state is restored after suspend.
Adds cpu suspend and resume functions.
Disable fiqs in suspend and re-enable in resume.
Change-Id: Ie4a36d55fdd7275267eeeb208e358ab24855ee64
Signed-off-by: Arve Hjønnevåg <arve@android.com>
Allows multiple fiqs to be registered without one fiq handler
interrupting another and corrupting the return state.
Change-Id: I1ab1bd2e2808d3ff319cc31924e083011ef21fe3
Signed-off-by: Arve Hjønnevåg <arve@android.com>
The lk smp branch changed the gic to have per cpu interrupt handlers
for every interrupt. This is not needed for interrupts that are not
cpu specific.
Change-Id: I71298931ec7b337b11934eac2722be254172976e