We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
I am working on hypervisor with raspberry pi 4B board.when I study interrupt virtualization, I encounter a problem, I am follow this documenthttps://developer.arm.com/documentation ... exceptions
There are two mechanisms for generating virtual interrupts:1 Internally by the core, using controls in HCR_EL2.2 Using a GICv2, or later, interrupt controller.
I use method 1. Everything worked fine, I can route IRQ to my EL2 code, and I can forward it to EL1 Linux kernel.But, when I tested, I tried to disable IRQ from EL1, use "msr daifset, #0xf", after this, IRQ will not trigger to EL2 also.I am confused, because the document above said pstate.I will only affect vIRQ(for EL1) not pIRQ(EL2). I tested a GPIO interrupt and IPI interrupt, both failed.I search the web, there are few article on this topic, and can't find any additional settings.All document I found, said set I bit in EL1, will not affect EL2/3.
Thanks, if anyone can help.