On 23.01.2024 18:27, Oleksii wrote: > On Tue, 2024-01-23 at 14:03 +0100, Jan Beulich wrote: >> On 22.12.2023 16:13, Oleksii Kurochko wrote: >>> +#define _PGC_extra PG_shift(10) >>> +#define PGC_extra PG_mask(1, 10) >>> + >>> +#define is_xen_heap_page(page) ((page)->count_info & PGC_xen_heap) >>> +#define is_xen_heap_mfn(mfn) \ >>> + (mfn_valid(mfn) && is_xen_heap_page(mfn_to_page(mfn))) >>> + >>> +#define is_xen_fixed_mfn(mfn) \ >>> + ((mfn_to_maddr(mfn) >= virt_to_maddr(&_start)) && \ >>> + (mfn_to_maddr(mfn) <= virt_to_maddr((vaddr_t)_end - 1))) >> >> Why does _start need prefixing wuth & and _end prefixing with a cast? >> First and foremost both want to be consistent. And then preferably >> with as little extra clutter as possible. > This is how it was defined in Arm. I think it both can be casted. > I'll update that.
Judging from your present use of virt_to_maddr(&_start), I'd assume you're fine without casts. And when casts aren't needed, they're better avoided. Jan