[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v4 16/30] xen/riscv: introduce p2m.h
On 05.02.2024 16:32, Oleksii Kurochko wrote: > Signed-off-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx> Acked-by: Jan Beulich <jbeulich@xxxxxxxx> with two more nits: > --- /dev/null > +++ b/xen/arch/riscv/include/asm/p2m.h > @@ -0,0 +1,102 @@ > +/* SPDX-License-Identifier: GPL-2.0-only */ > +#ifndef __ASM_RISCV_P2M_H__ > +#define __ASM_RISCV_P2M_H__ > + > +#include <asm/page-bits.h> > + > +#define paddr_bits PADDR_BITS > + > +/* > + * List of possible type for each page in the p2m entry. > + * The number of available bit per page in the pte for this purpose is 2 > bits. > + * So it's possible to only have 4 fields. If we run out of value in the > + * future, it's possible to use higher value for pseudo-type and don't store > + * them in the p2m entry. > + */ > +typedef enum { > + p2m_invalid = 0, /* Nothing mapped here */ > + p2m_ram_rw, /* Normal read/write domain RAM */ > +} p2m_type_t; > + > +#include <xen/p2m-common.h> > + > +static inline int get_page_and_type(struct page_info *page, > + struct domain *domain, > + unsigned long type) > +{ > + BUG_ON("unimplemented"); > + return -EINVAL; > +} > + > +/* Look up a GFN and take a reference count on the backing page. */ > +typedef unsigned int p2m_query_t; > +#define P2M_ALLOC (1u<<0) /* Populate PoD and paged-out entries */ > +#define P2M_UNSHARE (1u<<1) /* Break CoW sharing */ > + > +static inline struct page_info *get_page_from_gfn( > + struct domain *d, unsigned long gfn, p2m_type_t *t, p2m_query_t q) > +{ > + BUG_ON("unimplemented"); > + return NULL; > +} > + > +static inline void memory_type_changed(struct domain *d) > +{ > + BUG_ON("unimplemented"); > +} > + > + > +static inline int guest_physmap_mark_populate_on_demand(struct domain *d, > unsigned long gfn, This line looks to be too long. > + unsigned int order) > +{ > + return -EOPNOTSUPP; > +} > + > +static inline int guest_physmap_add_entry(struct domain *d, > + gfn_t gfn, > + mfn_t mfn, > + unsigned long page_order, > + p2m_type_t t) Indentation isn't quite right here. I'll see about dealing with those while committing. Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |