diff --git a/include/sbi/sbi_domain.h b/include/sbi/sbi_domain.h index e10daff..c88dbac 100644 --- a/include/sbi/sbi_domain.h +++ b/include/sbi/sbi_domain.h @@ -74,33 +74,29 @@ struct sbi_domain_memregion { SBI_DOMAIN_MEMREGION_SU_READABLE) /* Shared read-only region between M and SU mode */ -#define SBI_DOMAIN_MEMREGION_IS_SUR_MR(__flags) \ - ((__flags & SBI_DOMAIN_MEMREGION_M_READABLE) && \ - (__flags & SBI_DOMAIN_MEMREGION_SU_READABLE)) +#define SBI_DOMAIN_MEMREGION_IS_SUR_MR(__flags) \ + ((__flags & SBI_DOMAIN_MEMREGION_ACCESS_MASK) == \ + SBI_DOMAIN_MEMREGION_SHARED_RDONLY) /* Shared region: SU execute-only and M read/execute */ -#define SBI_DOMAIN_MEMREGION_IS_SUX_MRX(__flags) \ - ((__flags & SBI_DOMAIN_MEMREGION_M_READABLE) && \ - (__flags & SBI_DOMAIN_MEMREGION_M_EXECUTABLE) && \ - (__flags & SBI_DOMAIN_MEMREGION_SU_EXECUTABLE)) +#define SBI_DOMAIN_MEMREGION_IS_SUX_MRX(__flags) \ + ((__flags & SBI_DOMAIN_MEMREGION_ACCESS_MASK) == \ + SBI_DOMAIN_MEMREGION_SHARED_SUX_MRX) /* Shared region: SU and M execute-only */ -#define SBI_DOMAIN_MEMREGION_IS_SUX_MX(__flags) \ - ((__flags & SBI_DOMAIN_MEMREGION_M_EXECUTABLE) && \ - (__flags & SBI_DOMAIN_MEMREGION_SU_EXECUTABLE)) +#define SBI_DOMAIN_MEMREGION_IS_SUX_MX(__flags) \ + ((__flags & SBI_DOMAIN_MEMREGION_ACCESS_MASK) == \ + SBI_DOMAIN_MEMREGION_SHARED_SUX_MX) /* Shared region: SU and M read/write */ -#define SBI_DOMAIN_MEMREGION_IS_SURW_MRW(__flags) \ - ((__flags & SBI_DOMAIN_MEMREGION_M_READABLE) && \ - (__flags & SBI_DOMAIN_MEMREGION_M_WRITABLE) && \ - (__flags & SBI_DOMAIN_MEMREGION_SU_READABLE) & \ - (__flags & SBI_DOMAIN_MEMREGION_SU_WRITABLE)) +#define SBI_DOMAIN_MEMREGION_IS_SURW_MRW(__flags) \ + ((__flags & SBI_DOMAIN_MEMREGION_ACCESS_MASK) == \ + SBI_DOMAIN_MEMREGION_SHARED_SURW_MRW) /* Shared region: SU read-only and M read/write */ -#define SBI_DOMAIN_MEMREGION_IS_SUR_MRW(__flags) \ - ((__flags & SBI_DOMAIN_MEMREGION_M_READABLE) && \ - (__flags & SBI_DOMAIN_MEMREGION_M_WRITABLE) && \ - (__flags & SBI_DOMAIN_MEMREGION_SU_READABLE)) +#define SBI_DOMAIN_MEMREGION_IS_SUR_MRW(__flags) \ + ((__flags & SBI_DOMAIN_MEMREGION_ACCESS_MASK) == \ + SBI_DOMAIN_MEMREGION_SHARED_SUR_MRW) /* * Check if region flags match with any of the above