arm - GIC v2 Virtualization Supported System -
i'm trying implement kind of interrupt routine.
it's related virtualization gic v2 h/w support.
my question :
when catch interrupt number, hypervisor should distingush if it's own or guests ran on hypervisor. how check it? if it's hyp or guest?
it's question. please let me know if correct or not. need more backgrounds. thank replay before.
the simplest way fiq interrupt assigned secure world , irq normal world. there trustzone register (scr or secure configuration registers) route irq/fiq monitor or straight os in current world. gic allows interrupt either fiq or irq (i think documentation calls type 0 , type 1). can route monitor or can dynamically switch (on world switch) interrupt routed.
world | normal | secure ------+--------+-------- fiq | monitor| through irq | through| monitor
the monitor trap require saving lot of registers (a world switch save registers). can trust secure interrupt handler somewhat, bets should off normal world.
there maybe other ways handle it, least complex. instance, can have fixed table of interrupt sources owners (which world belong to). imagine there many other ways. trap monitor mode undesirable performance reasons.
for hypervisor case, have disallow fiq interrupts in guest os. not work suppose fast , virtualization going interfere this. can leave scr in normal column if case (so scr constant).
Comments
Post a Comment