powerpc: Dynamically calculate the dabrx based on kernel/user/hypervisor
Currently we mark the DABRX to interrupt on all matches (hypervisor/kernel/user and then filter in software. We can be a lot smarter now that we can set the DABRX dynamically. This sets the DABRX based on the flags passed by the user. Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:

committed by
Benjamin Herrenschmidt

parent
4474ef055c
commit
cd14457304
@@ -425,7 +425,7 @@ static int pseries_set_xdabr(unsigned long dabr, unsigned long dabrx)
|
||||
if (dabrx == 0 && dabr == 0)
|
||||
dabrx = DABRX_USER;
|
||||
/* PAPR says we can only set kernel and user bits */
|
||||
dabrx &= H_DABRX_KERNEL | H_DABRX_USER;
|
||||
dabrx &= DABRX_KERNEL | DABRX_USER;
|
||||
|
||||
return plpar_hcall_norets(H_SET_XDABR, dabr, dabrx);
|
||||
}
|
||||
|
Reference in New Issue
Block a user