[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v4 16/30] xen/riscv: introduce p2m.h
On Mon, 2024-02-12 at 16:16 +0100, Jan Beulich wrote: > 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. Thanks a lot. ~ Oleksii
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |