On 13.07.21 16:28, Jan Beulich wrote: > On 13.07.2021 16:23, Juergen Gross wrote: >> On 13.07.21 16:19, Julien Grall wrote: >>> On 13/07/2021 15:14, Jan Beulich wrote: >>>>> And I don't think it should be named XC_PAGE_*, but rather XEN_PAGE_*. >>>> >>>> Even that doesn't seem right to me, at least in principle. There >>>> shouldn't >>>> be a build time setting when it may vary at runtime. IOW on Arm I think a >>>> runtime query to the hypervisor would be needed instead. >>> >>> Yes, we want to be able to use the same userspace/OS without rebuilding >>> to a specific hypervisor page size. >> >> This define is used for accessing data of other domains. See the define >> for XEN_PAGE_SIZE in xen/include/public/io/ring.h >> >> So it should be a constant (minimal) page size for all hypervisors and >> guests of an architecture. > > But that's only because of limitations baked into ring.h. For example, > a grant shouldn't be (address,attributes), but (address,order,attributes). > A frontend running in an OS with 16k page size could then still announce > a single ring "page", and a backend running in an OS with 4k page size > would still have no trouble mapping that ring. (The other way around > would of course get more interesting.) Right. The current interfaces don't provide this ability. For those the minimal size is "the right thing" IMO. Juergen