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.) Jan