On 26/03/14 15:34, Jan Beulich wrote:
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx>
--- a/xen/arch/x86/mm/p2m-ept.c
+++ b/xen/arch/x86/mm/p2m-ept.c
@@ -730,6 +730,14 @@ static void ept_dump_p2m_table(unsigned
unsigned long record_counter = 0;
struct p2m_domain *p2m;
struct ept_data *ept;
+ static const char memoryTypes[8][2] = {
+ [0 ... 7] = "?",
+ [MTRR_TYPE_UNCACHABLE] = "UC",
+ [MTRR_TYPE_WRCOMB] = "WC",
+ [MTRR_TYPE_WRTHROUGH] = "WT",
+ [MTRR_TYPE_WRPROT] = "WP",
+ [MTRR_TYPE_WRBACK] = "WB",
+ };
Dont we have an identical structure somewhere else in Xen already?
~Andrew
for_each_domain(d)
{
@@ -759,8 +767,15 @@ static void ept_dump_p2m_table(unsigned
if ( ept_entry->sa_p2mt == p2m_populate_on_demand )
printk("gfn: %13lx order: %2d PoD\n", gfn, order);
else
- printk("gfn: %13lx order: %2d mfn: %13lx\n",
- gfn, order, ept_entry->mfn + 0UL);
+ printk("gfn: %13lx order: %2d mfn: %13lx %c%c%c %c%c%c\n",
+ gfn, order, ept_entry->mfn + 0UL,
+ ept_entry->r ? 'r' : ' ',
+ ept_entry->w ? 'w' : ' ',
+ ept_entry->x ? 'x' : ' ',
+ memoryTypes[ept_entry->emt][0],
+ memoryTypes[ept_entry->emt][1]
+ ?: ept_entry->emt + '0',
+ ept_entry->ipat ? '!' : ' ');
if ( !(record_counter++ % 100) )
process_pending_softirqs();
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|