On 03.04.2025 18:20, Oleksii Kurochko wrote: > > On 4/1/25 6:04 PM, Jan Beulich wrote: >> On 01.04.2025 17:58, Oleksii Kurochko wrote: >>> On 3/31/25 6:14 PM, Jan Beulich wrote: >>>> On 31.03.2025 17:20, Oleksii Kurochko wrote: >>>>> + _AC(XEN_VIRT_START, UL) >> vpn1_shift; >>>>> + const unsigned long xen_virt_end_vpn = >>>>> + xen_virt_starn_vpn + ((XEN_VIRT_SIZE >> vpn1_shift) - 1); >>>>> + >>>>> if ((va >= DIRECTMAP_VIRT_START) && >>>>> (va <= DIRECTMAP_VIRT_END)) >>>>> return directmapoff_to_maddr(va - directmap_virt_start); >>>>> >>>>> - BUILD_BUG_ON(XEN_VIRT_SIZE != MB(2)); >>>>> - ASSERT((va >> (PAGETABLE_ORDER + PAGE_SHIFT)) == >>>>> - (_AC(XEN_VIRT_START, UL) >> (PAGETABLE_ORDER + PAGE_SHIFT))); >>>>> + BUILD_BUG_ON(XEN_VIRT_SIZE != MB(8)); >>>> Is it necessary to be != ? Won't > suffice? >>> It could be just > MB(2). Or perphaps >=. >>> = would make the build fail, wouldn't it? > > I just realized that BUILD_BUG_ON() condition is compared to zero so actually > everything what > will make the condition true will cause a build fail as inside it used > !(condition).
??? > So it seems like we have to check for XEN_VIRT_SIZE != MB(16) and change each > time when XEN_VIRT_SIZE > is increased. I don't think so, but I need to first understand the point you make above. Jan