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?

>>> +    ASSERT((va_vpn >= xen_virt_starn_vpn) && (va_vpn <= xen_virt_end_vpn));
>> Are you sure about <= on the rhs of the && ?
> 
> I am using -1 [ ((XEN_VIRT_SIZE >> vpn1_shift) - 1) ] when calculating the 
> xen_virt_end_vpn to make the range inclusive.

Oh, indeed, I didn't look there closely enough.

Jan

Reply via email to