seL4_projects_libs
seL4_projects_libs copied to clipboard
libsel4vm: Fault: support 64 bits fault data mask for aarch64
The function fault_get_data_mask()
only produce the mask within 32 bits which meas it can't return a mask like 0xffffffff00000000
with 64 bits seL4_Word
.
https://github.com/seL4/seL4_projects_libs/blob/eb42051d1217405832165869e034ab8860ed4129/libsel4vm/src/arch/arm/fault.c#L494
Thus for some data structures like GICD_IROUTER
of gicv3 which is in 64 bits width, the mask and the related fault function fault_emulate()
can't handler the access to the upper 32 bits correctly.