|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v3 31/34] xen/riscv: add minimal stuff to mm.h to build full Xen
On Fri, 2023-12-22 at 18:32 +0200, Oleksii wrote:
> > +
> > +struct page_info
> > +{
> > + /* Each frame can be threaded onto a doubly-linked list. */
> > + struct page_list_entry list;
> > +
> > + /* Reference count and various PGC_xxx flags and fields. */
> > + unsigned long count_info;
> > +
> > + /* Context-dependent fields follow... */
> > + union {
> > + /* Page is in use: ((count_info & PGC_count_mask) != 0).
> > */
> > + struct {
> > + /* Type reference count and various PGT_xxx flags and
> > fields. */
> > + unsigned long type_info;
> > + } inuse;
> > + /* Page is on a free list: ((count_info & PGC_count_mask)
> > ==
> > 0). */
> > + union {
> > + struct {
> > + /*
> > + * Index of the first *possibly* unscrubbed page
> > in
> > the buddy.
> > + * One more bit than maximum possible order to
> > accommodate
> > + * INVALID_DIRTY_IDX.
> > + */
> > +#define INVALID_DIRTY_IDX ((1UL << (MAX_ORDER + 1)) - 1)
> > + unsigned long first_dirty:MAX_ORDER + 1;
> > +
> > + /* Do TLBs need flushing for safety before next
> > page
> > use? */
> > + bool need_tlbflush:1;
> > +
> > +#define BUDDY_NOT_SCRUBBING 0
> > +#define BUDDY_SCRUBBING 1
> > +#define BUDDY_SCRUB_ABORT 2
> > + unsigned long scrub_state:2;
> > + };
> > +
> > + unsigned long val;
> > + } free;
> > +
> > + } u;
> > +
> > + union {
> > + /* Page is in use, but not as a shadow. */
> > + struct {
> > + /* Owner of this page (zero if page is anonymous). */
> > + struct domain *domain;
> > + } inuse;
> > +
> > + /* Page is on a free list. */
> > + struct {
> > + /* Order-size of the free chunk this page is the head
> > of. */
> > + unsigned int order;
> > + } free;
> > +
> > + } v;
> > +
> > + union {
> > + /*
> > + * Timestamp from 'TLB clock', used to avoid extra safety
> > flushes.
> > + * Only valid for: a) free pages, and b) pages with zero
> > type count
> > + */
> > + uint32_t tlbflush_timestamp;
> > + };
> > + uint64_t pad;
I think it can be removed too. The changes weren't saved. ( Just
another one reminder for me ).
Sorry for the convenience.
~ Oleksii
>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |