[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 02/38] arm: handy function to print a walk of the hypervisor page tables
At 12:57 +0100 on 07 Jun (1339073860), Ian Campbell wrote: > On Thu, 2012-06-07 at 09:45 +0100, Tim Deegan wrote: > > Hi, > > > > At 15:39 +0000 on 01 Jun (1338565171), Ian Campbell wrote: > > > +void dump_pt_walk(uint32_t addr) > > > +{ > > > + paddr_t second_ma, third_ma; > > > + lpae_t *first = NULL, *second = NULL, *third = NULL; > > > + uint64_t httbr = READ_CP64(HTTBR); > > > + > > > + printk("Walking Hypervisor VA %#"PRIx32" via HTTBR %#"PRIx64"\n", > > > + addr, httbr); > > > + > > > + BUG_ON( (lpae_t *)(unsigned long)(httbr - xen_phys_offset) != > > > xen_pgtable ); > > > + first = xen_pgtable; > > > + printk("1ST[%#03"PRIx32"] = %p[%#03"PRIx32"] = %#llx = %#016llx\n", > > > + first_table_offset(addr), > > > + first, first_table_offset(addr), > > > + virt_to_maddr(&first[first_table_offset(addr)]), > > > + first[first_table_offset(addr)].bits); > > > + > > > + if ( !first[first_table_offset(addr)].pt.valid || > > > + !first[first_table_offset(addr)].pt.table ) > > > + goto done; > > > > This could probably be a for loop rather than open-coding three > > almost-identical printks. > > The *_table_offsets macro names are different at each stage, I suppose I > could open code the equivalent shifts, but I'd rather keep using the > access macros. Ah, OK. In that case, open-coded is fine. Tim. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |