xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] x86/svm: Improve segment register printing in svm_vmcb_dump()
@ 2016-10-31 13:48 Andrew Cooper
  2016-10-31 14:12 ` Jan Beulich
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Andrew Cooper @ 2016-10-31 13:48 UTC (permalink / raw)
  To: Xen-devel
  Cc: Andrew Cooper, Boris Ostrovsky, Suravee Suthikulpanit,
	Jan Beulich

This makes it more succinct and easier to read.

Before:
  (XEN) H_CR3 = 0x000000042a0ec000 CleanBits = 0
  (XEN) CS: sel=0x0008, attr=0x029b, limit=0xffffffff, base=0x0000000000000000
  (XEN) DS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
  (XEN) SS: sel=0x0018, attr=0x0c93, limit=0xffffffff, base=0x0000000000000000
  (XEN) ES: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
  (XEN) FS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
  (XEN) GS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
  (XEN) GDTR: sel=0x0000, attr=0x0000, limit=0x00000067, base=0x000000000010d100
  (XEN) LDTR: sel=0x0000, attr=0x0000, limit=0x00000000, base=0x0000000000000000
  (XEN) IDTR: sel=0x0000, attr=0x0000, limit=0x00000fff, base=0x0000000000110900
  (XEN) TR: sel=0x0038, attr=0x0089, limit=0x00000067, base=0x000000000010d020

After:
  (XEN) H_CR3 = 0x000000042a0ec000 CleanBits = 0
  (XEN)        sel  attr  limit   base
  (XEN)   CS: 0008 0029b ffffffff 0000000000000000
  (XEN)   DS: 0033 00cf3 ffffffff 0000000000000000
  (XEN)   SS: 0018 00c93 ffffffff 0000000000000000
  (XEN)   ES: 0033 00cf3 ffffffff 0000000000000000
  (XEN)   FS: 0033 00cf3 ffffffff 0000000000000000
  (XEN)   GS: 0033 00cf3 ffffffff 0000000000000000
  (XEN) GDTR: 0000 00000 00000067 000000000010d100
  (XEN) LDTR: 0000 00000 00000000 0000000000000000
  (XEN) IDTR: 0000 00000 00000fff 0000000000110900
  (XEN)   TR: 0038 00089 00000067 000000000010d020

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
---
CC: Jan Beulich <JBeulich@suse.com>
CC: Boris Ostrovsky <boris.ostrovsky@oracle.com>
CC: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
---
 xen/arch/x86/hvm/svm/svmdebug.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svmdebug.c b/xen/arch/x86/hvm/svm/svmdebug.c
index ded5d19..f85f70a 100644
--- a/xen/arch/x86/hvm/svm/svmdebug.c
+++ b/xen/arch/x86/hvm/svm/svmdebug.c
@@ -20,11 +20,10 @@
 #include <asm/msr-index.h>
 #include <asm/hvm/svm/svmdebug.h>
 
-static void svm_dump_sel(const char *name, svm_segment_register_t *s)
+static void svm_dump_sel(const char *name, const svm_segment_register_t *s)
 {
-    printk("%s: sel=0x%04x, attr=0x%04x, limit=0x%08x, base=0x%016llx\n", 
-           name, s->sel, s->attr.bytes, s->limit,
-           (unsigned long long)s->base);
+    printk("%s: %04x %05x %08x %016"PRIx64"\n",
+           name, s->sel, s->attr.bytes, s->limit, s->base);
 }
 
 /* This function can directly access fields which are covered by clean bits. */
@@ -79,16 +78,17 @@ void svm_vmcb_dump(const char *from, struct vmcb_struct *vmcb)
            (unsigned long long)vmcb->_h_cr3, vmcb->cleanbits.bytes);
 
     /* print out all the selectors */
-    svm_dump_sel("CS", &vmcb->cs);
-    svm_dump_sel("DS", &vmcb->ds);
-    svm_dump_sel("SS", &vmcb->ss);
-    svm_dump_sel("ES", &vmcb->es);
-    svm_dump_sel("FS", &vmcb->fs);
-    svm_dump_sel("GS", &vmcb->gs);
+    printk("       sel  attr  limit   base\n");
+    svm_dump_sel("  CS", &vmcb->cs);
+    svm_dump_sel("  DS", &vmcb->ds);
+    svm_dump_sel("  SS", &vmcb->ss);
+    svm_dump_sel("  ES", &vmcb->es);
+    svm_dump_sel("  FS", &vmcb->fs);
+    svm_dump_sel("  GS", &vmcb->gs);
     svm_dump_sel("GDTR", &vmcb->gdtr);
     svm_dump_sel("LDTR", &vmcb->ldtr);
     svm_dump_sel("IDTR", &vmcb->idtr);
-    svm_dump_sel("TR", &vmcb->tr);
+    svm_dump_sel("  TR", &vmcb->tr);
 }
 
 bool_t
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/svm: Improve segment register printing in svm_vmcb_dump()
  2016-10-31 13:48 [PATCH] x86/svm: Improve segment register printing in svm_vmcb_dump() Andrew Cooper
@ 2016-10-31 14:12 ` Jan Beulich
  2016-10-31 14:13   ` Andrew Cooper
  2016-11-16 13:43 ` Andrew Cooper
  2016-11-16 17:59 ` [PATCH v2] " Andrew Cooper
  2 siblings, 1 reply; 8+ messages in thread
From: Jan Beulich @ 2016-10-31 14:12 UTC (permalink / raw)
  To: Andrew Cooper; +Cc: Boris Ostrovsky, SuraveeSuthikulpanit, Xen-devel

>>> On 31.10.16 at 14:48, <andrew.cooper3@citrix.com> wrote:
> --- a/xen/arch/x86/hvm/svm/svmdebug.c
> +++ b/xen/arch/x86/hvm/svm/svmdebug.c
> @@ -20,11 +20,10 @@
>  #include <asm/msr-index.h>
>  #include <asm/hvm/svm/svmdebug.h>
>  
> -static void svm_dump_sel(const char *name, svm_segment_register_t *s)
> +static void svm_dump_sel(const char *name, const svm_segment_register_t *s)
>  {
> -    printk("%s: sel=0x%04x, attr=0x%04x, limit=0x%08x, base=0x%016llx\n", 
> -           name, s->sel, s->attr.bytes, s->limit,
> -           (unsigned long long)s->base);
> +    printk("%s: %04x %05x %08x %016"PRIx64"\n",
> +           name, s->sel, s->attr.bytes, s->limit, s->base);

Why do you change to 5 digits for the attributes? Other than VMX,
SVM has nothing defined beyond bit 15.

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/svm: Improve segment register printing in svm_vmcb_dump()
  2016-10-31 14:12 ` Jan Beulich
@ 2016-10-31 14:13   ` Andrew Cooper
  2016-10-31 14:22     ` Jan Beulich
  0 siblings, 1 reply; 8+ messages in thread
From: Andrew Cooper @ 2016-10-31 14:13 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Boris Ostrovsky, SuraveeSuthikulpanit, Xen-devel

On 31/10/16 14:12, Jan Beulich wrote:
>>>> On 31.10.16 at 14:48, <andrew.cooper3@citrix.com> wrote:
>> --- a/xen/arch/x86/hvm/svm/svmdebug.c
>> +++ b/xen/arch/x86/hvm/svm/svmdebug.c
>> @@ -20,11 +20,10 @@
>>  #include <asm/msr-index.h>
>>  #include <asm/hvm/svm/svmdebug.h>
>>  
>> -static void svm_dump_sel(const char *name, svm_segment_register_t *s)
>> +static void svm_dump_sel(const char *name, const svm_segment_register_t *s)
>>  {
>> -    printk("%s: sel=0x%04x, attr=0x%04x, limit=0x%08x, base=0x%016llx\n", 
>> -           name, s->sel, s->attr.bytes, s->limit,
>> -           (unsigned long long)s->base);
>> +    printk("%s: %04x %05x %08x %016"PRIx64"\n",
>> +           name, s->sel, s->attr.bytes, s->limit, s->base);
> Why do you change to 5 digits for the attributes? Other than VMX,
> SVM has nothing defined beyond bit 15.

Good point - I blindly copied the VMX side without adjusting.  Will fix.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/svm: Improve segment register printing in svm_vmcb_dump()
  2016-10-31 14:13   ` Andrew Cooper
@ 2016-10-31 14:22     ` Jan Beulich
  0 siblings, 0 replies; 8+ messages in thread
From: Jan Beulich @ 2016-10-31 14:22 UTC (permalink / raw)
  To: Andrew Cooper; +Cc: Boris Ostrovsky, SuraveeSuthikulpanit, Xen-devel

>>> On 31.10.16 at 15:13, <andrew.cooper3@citrix.com> wrote:
> On 31/10/16 14:12, Jan Beulich wrote:
>>>>> On 31.10.16 at 14:48, <andrew.cooper3@citrix.com> wrote:
>>> --- a/xen/arch/x86/hvm/svm/svmdebug.c
>>> +++ b/xen/arch/x86/hvm/svm/svmdebug.c
>>> @@ -20,11 +20,10 @@
>>>  #include <asm/msr-index.h>
>>>  #include <asm/hvm/svm/svmdebug.h>
>>>  
>>> -static void svm_dump_sel(const char *name, svm_segment_register_t *s)
>>> +static void svm_dump_sel(const char *name, const svm_segment_register_t *s)
>>>  {
>>> -    printk("%s: sel=0x%04x, attr=0x%04x, limit=0x%08x, base=0x%016llx\n", 
>>> -           name, s->sel, s->attr.bytes, s->limit,
>>> -           (unsigned long long)s->base);
>>> +    printk("%s: %04x %05x %08x %016"PRIx64"\n",
>>> +           name, s->sel, s->attr.bytes, s->limit, s->base);
>> Why do you change to 5 digits for the attributes? Other than VMX,
>> SVM has nothing defined beyond bit 15.
> 
> Good point - I blindly copied the VMX side without adjusting.  Will fix.

With that
Reviewed-by: Jan Beulich <jbeulich@suse.com>

Jan

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/svm: Improve segment register printing in svm_vmcb_dump()
  2016-10-31 13:48 [PATCH] x86/svm: Improve segment register printing in svm_vmcb_dump() Andrew Cooper
  2016-10-31 14:12 ` Jan Beulich
@ 2016-11-16 13:43 ` Andrew Cooper
  2016-11-16 16:48   ` Boris Ostrovsky
  2016-11-16 17:59 ` [PATCH v2] " Andrew Cooper
  2 siblings, 1 reply; 8+ messages in thread
From: Andrew Cooper @ 2016-11-16 13:43 UTC (permalink / raw)
  To: Xen-devel; +Cc: Boris Ostrovsky, Suravee Suthikulpanit, Jan Beulich

On 31/10/16 13:48, Andrew Cooper wrote:
> This makes it more succinct and easier to read.
>
> Before:
>   (XEN) H_CR3 = 0x000000042a0ec000 CleanBits = 0
>   (XEN) CS: sel=0x0008, attr=0x029b, limit=0xffffffff, base=0x0000000000000000
>   (XEN) DS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>   (XEN) SS: sel=0x0018, attr=0x0c93, limit=0xffffffff, base=0x0000000000000000
>   (XEN) ES: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>   (XEN) FS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>   (XEN) GS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>   (XEN) GDTR: sel=0x0000, attr=0x0000, limit=0x00000067, base=0x000000000010d100
>   (XEN) LDTR: sel=0x0000, attr=0x0000, limit=0x00000000, base=0x0000000000000000
>   (XEN) IDTR: sel=0x0000, attr=0x0000, limit=0x00000fff, base=0x0000000000110900
>   (XEN) TR: sel=0x0038, attr=0x0089, limit=0x00000067, base=0x000000000010d020
>
> After:
>   (XEN) H_CR3 = 0x000000042a0ec000 CleanBits = 0
>   (XEN)        sel  attr  limit   base
>   (XEN)   CS: 0008 0029b ffffffff 0000000000000000
>   (XEN)   DS: 0033 00cf3 ffffffff 0000000000000000
>   (XEN)   SS: 0018 00c93 ffffffff 0000000000000000
>   (XEN)   ES: 0033 00cf3 ffffffff 0000000000000000
>   (XEN)   FS: 0033 00cf3 ffffffff 0000000000000000
>   (XEN)   GS: 0033 00cf3 ffffffff 0000000000000000
>   (XEN) GDTR: 0000 00000 00000067 000000000010d100
>   (XEN) LDTR: 0000 00000 00000000 0000000000000000
>   (XEN) IDTR: 0000 00000 00000fff 0000000000110900
>   (XEN)   TR: 0038 00089 00000067 000000000010d020
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
> ---
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Boris Ostrovsky <boris.ostrovsky@oracle.com>
> CC: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>

AMD Ping?

> ---
>  xen/arch/x86/hvm/svm/svmdebug.c | 22 +++++++++++-----------
>  1 file changed, 11 insertions(+), 11 deletions(-)
>
> diff --git a/xen/arch/x86/hvm/svm/svmdebug.c b/xen/arch/x86/hvm/svm/svmdebug.c
> index ded5d19..f85f70a 100644
> --- a/xen/arch/x86/hvm/svm/svmdebug.c
> +++ b/xen/arch/x86/hvm/svm/svmdebug.c
> @@ -20,11 +20,10 @@
>  #include <asm/msr-index.h>
>  #include <asm/hvm/svm/svmdebug.h>
>  
> -static void svm_dump_sel(const char *name, svm_segment_register_t *s)
> +static void svm_dump_sel(const char *name, const svm_segment_register_t *s)
>  {
> -    printk("%s: sel=0x%04x, attr=0x%04x, limit=0x%08x, base=0x%016llx\n", 
> -           name, s->sel, s->attr.bytes, s->limit,
> -           (unsigned long long)s->base);
> +    printk("%s: %04x %05x %08x %016"PRIx64"\n",
> +           name, s->sel, s->attr.bytes, s->limit, s->base);
>  }
>  
>  /* This function can directly access fields which are covered by clean bits. */
> @@ -79,16 +78,17 @@ void svm_vmcb_dump(const char *from, struct vmcb_struct *vmcb)
>             (unsigned long long)vmcb->_h_cr3, vmcb->cleanbits.bytes);
>  
>      /* print out all the selectors */
> -    svm_dump_sel("CS", &vmcb->cs);
> -    svm_dump_sel("DS", &vmcb->ds);
> -    svm_dump_sel("SS", &vmcb->ss);
> -    svm_dump_sel("ES", &vmcb->es);
> -    svm_dump_sel("FS", &vmcb->fs);
> -    svm_dump_sel("GS", &vmcb->gs);
> +    printk("       sel  attr  limit   base\n");
> +    svm_dump_sel("  CS", &vmcb->cs);
> +    svm_dump_sel("  DS", &vmcb->ds);
> +    svm_dump_sel("  SS", &vmcb->ss);
> +    svm_dump_sel("  ES", &vmcb->es);
> +    svm_dump_sel("  FS", &vmcb->fs);
> +    svm_dump_sel("  GS", &vmcb->gs);
>      svm_dump_sel("GDTR", &vmcb->gdtr);
>      svm_dump_sel("LDTR", &vmcb->ldtr);
>      svm_dump_sel("IDTR", &vmcb->idtr);
> -    svm_dump_sel("TR", &vmcb->tr);
> +    svm_dump_sel("  TR", &vmcb->tr);
>  }
>  
>  bool_t


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/svm: Improve segment register printing in svm_vmcb_dump()
  2016-11-16 13:43 ` Andrew Cooper
@ 2016-11-16 16:48   ` Boris Ostrovsky
  2016-11-16 17:21     ` Suravee Suthikulanit
  0 siblings, 1 reply; 8+ messages in thread
From: Boris Ostrovsky @ 2016-11-16 16:48 UTC (permalink / raw)
  To: Andrew Cooper, Xen-devel; +Cc: Suravee Suthikulpanit, Jan Beulich

On 11/16/2016 08:43 AM, Andrew Cooper wrote:
> On 31/10/16 13:48, Andrew Cooper wrote:
>> This makes it more succinct and easier to read.
>>
>> Before:
>>   (XEN) H_CR3 = 0x000000042a0ec000 CleanBits = 0
>>   (XEN) CS: sel=0x0008, attr=0x029b, limit=0xffffffff, base=0x0000000000000000
>>   (XEN) DS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>>   (XEN) SS: sel=0x0018, attr=0x0c93, limit=0xffffffff, base=0x0000000000000000
>>   (XEN) ES: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>>   (XEN) FS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>>   (XEN) GS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>>   (XEN) GDTR: sel=0x0000, attr=0x0000, limit=0x00000067, base=0x000000000010d100
>>   (XEN) LDTR: sel=0x0000, attr=0x0000, limit=0x00000000, base=0x0000000000000000
>>   (XEN) IDTR: sel=0x0000, attr=0x0000, limit=0x00000fff, base=0x0000000000110900
>>   (XEN) TR: sel=0x0038, attr=0x0089, limit=0x00000067, base=0x000000000010d020
>>
>> After:
>>   (XEN) H_CR3 = 0x000000042a0ec000 CleanBits = 0
>>   (XEN)        sel  attr  limit   base
>>   (XEN)   CS: 0008 0029b ffffffff 0000000000000000
>>   (XEN)   DS: 0033 00cf3 ffffffff 0000000000000000
>>   (XEN)   SS: 0018 00c93 ffffffff 0000000000000000
>>   (XEN)   ES: 0033 00cf3 ffffffff 0000000000000000
>>   (XEN)   FS: 0033 00cf3 ffffffff 0000000000000000
>>   (XEN)   GS: 0033 00cf3 ffffffff 0000000000000000
>>   (XEN) GDTR: 0000 00000 00000067 000000000010d100
>>   (XEN) LDTR: 0000 00000 00000000 0000000000000000
>>   (XEN) IDTR: 0000 00000 00000fff 0000000000110900
>>   (XEN)   TR: 0038 00089 00000067 000000000010d020
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>> ---
>> CC: Jan Beulich <JBeulich@suse.com>
>> CC: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>> CC: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
> AMD Ping?

Sorry, I thought you were going to respin with updated attribute format
but I should have responded anyway.

Reviewed-by: Boris Ostrovsky <boris.ostorvsky@oracle.com>



_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] x86/svm: Improve segment register printing in svm_vmcb_dump()
  2016-11-16 16:48   ` Boris Ostrovsky
@ 2016-11-16 17:21     ` Suravee Suthikulanit
  0 siblings, 0 replies; 8+ messages in thread
From: Suravee Suthikulanit @ 2016-11-16 17:21 UTC (permalink / raw)
  To: Boris Ostrovsky, Andrew Cooper, Xen-devel; +Cc: Jan Beulich

On 11/16/2016 10:48 AM, Boris Ostrovsky wrote:
> On 11/16/2016 08:43 AM, Andrew Cooper wrote:
>> On 31/10/16 13:48, Andrew Cooper wrote:
>>> This makes it more succinct and easier to read.
>>>
>>> Before:
>>>   (XEN) H_CR3 = 0x000000042a0ec000 CleanBits = 0
>>>   (XEN) CS: sel=0x0008, attr=0x029b, limit=0xffffffff, base=0x0000000000000000
>>>   (XEN) DS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>>>   (XEN) SS: sel=0x0018, attr=0x0c93, limit=0xffffffff, base=0x0000000000000000
>>>   (XEN) ES: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>>>   (XEN) FS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>>>   (XEN) GS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
>>>   (XEN) GDTR: sel=0x0000, attr=0x0000, limit=0x00000067, base=0x000000000010d100
>>>   (XEN) LDTR: sel=0x0000, attr=0x0000, limit=0x00000000, base=0x0000000000000000
>>>   (XEN) IDTR: sel=0x0000, attr=0x0000, limit=0x00000fff, base=0x0000000000110900
>>>   (XEN) TR: sel=0x0038, attr=0x0089, limit=0x00000067, base=0x000000000010d020
>>>
>>> After:
>>>   (XEN) H_CR3 = 0x000000042a0ec000 CleanBits = 0
>>>   (XEN)        sel  attr  limit   base
>>>   (XEN)   CS: 0008 0029b ffffffff 0000000000000000
>>>   (XEN)   DS: 0033 00cf3 ffffffff 0000000000000000
>>>   (XEN)   SS: 0018 00c93 ffffffff 0000000000000000
>>>   (XEN)   ES: 0033 00cf3 ffffffff 0000000000000000
>>>   (XEN)   FS: 0033 00cf3 ffffffff 0000000000000000
>>>   (XEN)   GS: 0033 00cf3 ffffffff 0000000000000000
>>>   (XEN) GDTR: 0000 00000 00000067 000000000010d100
>>>   (XEN) LDTR: 0000 00000 00000000 0000000000000000
>>>   (XEN) IDTR: 0000 00000 00000fff 0000000000110900
>>>   (XEN)   TR: 0038 00089 00000067 000000000010d020
>>>
>>> Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
>>> ---
>>> CC: Jan Beulich <JBeulich@suse.com>
>>> CC: Boris Ostrovsky <boris.ostrovsky@oracle.com>
>>> CC: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
>> AMD Ping?
>
> Sorry, I thought you were going to respin with updated attribute format
> but I should have responded anyway.
>
> Reviewed-by: Boris Ostrovsky <boris.ostorvsky@oracle.com>
>
>

Reviewed-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>

Thanks,
S

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH v2] x86/svm: Improve segment register printing in svm_vmcb_dump()
  2016-10-31 13:48 [PATCH] x86/svm: Improve segment register printing in svm_vmcb_dump() Andrew Cooper
  2016-10-31 14:12 ` Jan Beulich
  2016-11-16 13:43 ` Andrew Cooper
@ 2016-11-16 17:59 ` Andrew Cooper
  2 siblings, 0 replies; 8+ messages in thread
From: Andrew Cooper @ 2016-11-16 17:59 UTC (permalink / raw)
  To: Xen-devel; +Cc: Andrew Cooper

v2 patch FYI.  I have queued this in my for-4.9 branch, for merging when we branch.

~Andrew

---%<---

This makes it more succinct and easier to read.

Before:
  (XEN) H_CR3 = 0x000000042a0ec000 CleanBits = 0
  (XEN) CS: sel=0x0008, attr=0x029b, limit=0xffffffff, base=0x0000000000000000
  (XEN) DS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
  (XEN) SS: sel=0x0018, attr=0x0c93, limit=0xffffffff, base=0x0000000000000000
  (XEN) ES: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
  (XEN) FS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
  (XEN) GS: sel=0x0033, attr=0x0cf3, limit=0xffffffff, base=0x0000000000000000
  (XEN) GDTR: sel=0x0000, attr=0x0000, limit=0x00000067, base=0x000000000010d100
  (XEN) LDTR: sel=0x0000, attr=0x0000, limit=0x00000000, base=0x0000000000000000
  (XEN) IDTR: sel=0x0000, attr=0x0000, limit=0x00000fff, base=0x0000000000110900
  (XEN) TR: sel=0x0038, attr=0x0089, limit=0x00000067, base=0x000000000010d020

After:
  (XEN) H_CR3 = 0x000000042a0ec000 CleanBits = 0
  (XEN)        sel attr  limit   base
  (XEN)   CS: 0008 029b ffffffff 0000000000000000
  (XEN)   DS: 0033 0cf3 ffffffff 0000000000000000
  (XEN)   SS: 0018 0c93 ffffffff 0000000000000000
  (XEN)   ES: 0033 0cf3 ffffffff 0000000000000000
  (XEN)   FS: 0033 0cf3 ffffffff 0000000000000000
  (XEN)   GS: 0033 0cf3 ffffffff 0000000000000000
  (XEN) GDTR: 0000 0000 00000067 000000000010d100
  (XEN) LDTR: 0000 0000 00000000 0000000000000000
  (XEN) IDTR: 0000 0000 00000fff 0000000000110900
  (XEN)   TR: 0038 0089 00000067 000000000010d020

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Boris Ostrovsky <boris.ostorvsky@oracle.com>
Reviewed-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
---
 xen/arch/x86/hvm/svm/svmdebug.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/xen/arch/x86/hvm/svm/svmdebug.c b/xen/arch/x86/hvm/svm/svmdebug.c
index ded5d19..49972c6 100644
--- a/xen/arch/x86/hvm/svm/svmdebug.c
+++ b/xen/arch/x86/hvm/svm/svmdebug.c
@@ -20,11 +20,10 @@
 #include <asm/msr-index.h>
 #include <asm/hvm/svm/svmdebug.h>
 
-static void svm_dump_sel(const char *name, svm_segment_register_t *s)
+static void svm_dump_sel(const char *name, const svm_segment_register_t *s)
 {
-    printk("%s: sel=0x%04x, attr=0x%04x, limit=0x%08x, base=0x%016llx\n", 
-           name, s->sel, s->attr.bytes, s->limit,
-           (unsigned long long)s->base);
+    printk("%s: %04x %04x %08x %016"PRIx64"\n",
+           name, s->sel, s->attr.bytes, s->limit, s->base);
 }
 
 /* This function can directly access fields which are covered by clean bits. */
@@ -79,16 +78,17 @@ void svm_vmcb_dump(const char *from, struct vmcb_struct *vmcb)
            (unsigned long long)vmcb->_h_cr3, vmcb->cleanbits.bytes);
 
     /* print out all the selectors */
-    svm_dump_sel("CS", &vmcb->cs);
-    svm_dump_sel("DS", &vmcb->ds);
-    svm_dump_sel("SS", &vmcb->ss);
-    svm_dump_sel("ES", &vmcb->es);
-    svm_dump_sel("FS", &vmcb->fs);
-    svm_dump_sel("GS", &vmcb->gs);
+    printk("       sel attr  limit   base\n");
+    svm_dump_sel("  CS", &vmcb->cs);
+    svm_dump_sel("  DS", &vmcb->ds);
+    svm_dump_sel("  SS", &vmcb->ss);
+    svm_dump_sel("  ES", &vmcb->es);
+    svm_dump_sel("  FS", &vmcb->fs);
+    svm_dump_sel("  GS", &vmcb->gs);
     svm_dump_sel("GDTR", &vmcb->gdtr);
     svm_dump_sel("LDTR", &vmcb->ldtr);
     svm_dump_sel("IDTR", &vmcb->idtr);
-    svm_dump_sel("TR", &vmcb->tr);
+    svm_dump_sel("  TR", &vmcb->tr);
 }
 
 bool_t
-- 
2.1.4


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2016-11-16 17:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-31 13:48 [PATCH] x86/svm: Improve segment register printing in svm_vmcb_dump() Andrew Cooper
2016-10-31 14:12 ` Jan Beulich
2016-10-31 14:13   ` Andrew Cooper
2016-10-31 14:22     ` Jan Beulich
2016-11-16 13:43 ` Andrew Cooper
2016-11-16 16:48   ` Boris Ostrovsky
2016-11-16 17:21     ` Suravee Suthikulanit
2016-11-16 17:59 ` [PATCH v2] " Andrew Cooper

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).