Skip to contentSkip to conversation

xen/arm64: Make sure we get all debug output

PATCH In review Dirk Behme 5 participants 8 messages Feb 4, 2016 – Feb 19, 2016

lore
Share & tools
lore

Dirk Behme

author
#0 lore raw

PATCH 1/1 xen/arm64: Make sure we get all debug output

From: Dirk Behme <[email protected]>

Starting in the wrong ELx mode I get the following debug output:

...
- Current EL 00000004 -
- Xen must be entered in NS EL2 mode -
- Boot failed -

The output of "Please update the bootloader" is missing here.

Make sure this is output, too. With this, we get

...
- Current EL 00000004 -
- Xen must be entered in NS EL2 mode -
- Please update the bootloader -
- Boot failed -

as intended.

---
 xen/arch/arm/arm64/head.S |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
xen/arch/arm/arm64/head.S +2 -2
index 9ed9a93..19fa2bb 100644
@@ -309,8 +309,8 @@ common_start:
         b.eq  el2 /* Yes */
 
         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS EL2 mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS EL2 mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
         b fail
 
 el2:    PRINT("- Xen starting at EL2 -\r\n")
Signature · 1 line
1.7.9.5
#1 lore raw
Quoted 13 lines · Dirk Behme

From: Dirk Behme <[email protected]>

Starting in the wrong ELx mode I get the following debug output:

...
- Current EL 00000004 -
- Xen must be entered in NS EL2 mode -
- Boot failed -

The output of "Please update the bootloader" is missing here.

Make sure this is output, too. With this, we get

Quoted 7 lines

...
- Current EL 00000004 -
- Xen must be entered in NS EL2 mode -
- Please update the bootloader -
- Boot failed -

as intended.

Ah, this is because gas does not concatenate strings in the same way as C, i.e. in C:

	"A" "B" "C"

becomes 'A', 'B', 'C', '\0'

while in gas it becomes 'A', '\0', 'B', '\0', 'C', '\0'

I'd like to modify the "...is missing here" above to go a bit further:

...is missing here, because string concatenation in gas, unlike in C, keeps the \0 between each individual string.

Would that be OK with you? (I can do it on commit if you are happy with it)

Quoted 13 lines

---
 xen/arch/arm/arm64/head.S |    4 ++--

 1 file changed, 2 insertions(+), 2 deletions(-)
xen/arch/arm/arm64/head.S +0 -0
index 9ed9a93..19fa2bb 100644
@@ -309,8 +309,8 @@ common_start:

         b.eq  el2 /* Yes */

Quoted 8 lines

         /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS EL2 mode -\r\n" \
-              "- Please update the bootloader -\r\n") +        PRINT("- Xen must be entered in NS EL2 mode -\r\n") +        PRINT("- Please update the bootloader -\r\n") b fail

 el2:    PRINT("- Xen starting at EL2 -\r\n")

_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xen.org/xen-devel

author
#2 lore raw
Quoted 28 lines · Ian Campbell
Quoted 13 lines · Dirk Behme

From: Dirk Behme <[email protected]>

Starting in the wrong ELx mode I get the following debug output:

...
- Current EL 00000004 -
- Xen must be entered in NS EL2 mode -
- Boot failed -

The output of "Please update the bootloader" is missing here.

Make sure this is output, too. With this, we get

Quoted 7 lines

...
- Current EL 00000004 -
- Xen must be entered in NS EL2 mode -
- Please update the bootloader -
- Boot failed -

as intended.

Ah, this is because gas does not concatenate strings in the same way as C, i.e. in C:

	"A" "B" "C"

becomes 'A', 'B', 'C', '\0'

Quoted 8 lines

while in gas it becomes 'A', '\0', 'B', '\0', 'C', '\0'

I'd like to modify the "...is missing here" above to go a bit further:

...is missing here, because string concatenation in gas, unlike in C, keeps the \0 between each individual string.

Would that be OK with you? (I can do it on commit if you are happy with it)

Sure, fine with me :)

Many thanks!

Dirk

Quoted 22 lines
Quoted 21 lines
---
  xen/arch/arm/arm64/head.S |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
xen/arch/arm/arm64/head.S +2 -2
index 9ed9a93..19fa2bb 100644
@@ -309,8 +309,8 @@ common_start:
          b.eq  el2 /* Yes */
 
          /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS EL2 mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS EL2 mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
          b fail
 
  el2:    PRINT("- Xen starting at EL2 -\r\n")
#3 lore raw
Quoted 38 lines · Dirk Behme
Quoted 37 lines · Ian Campbell
Quoted 13 lines · Dirk Behme

From: Dirk Behme <[email protected]>

Starting in the wrong ELx mode I get the following debug output:

...
- Current EL 00000004 -
- Xen must be entered in NS EL2 mode -
- Boot failed -

The output of "Please update the bootloader" is missing here.

Make sure this is output, too. With this, we get

Quoted 7 lines

...
- Current EL 00000004 -
- Xen must be entered in NS EL2 mode -
- Please update the bootloader -
- Boot failed -

as intended.

Ah, this is because gas does not concatenate strings in the same way as C,
i.e. in C:

    "A" "B" "C"

becomes 'A', 'B', 'C', '\0'

while in gas it becomes 'A', '\0', 'B', '\0', 'C', '\0'

I'd like to modify the "...is missing here" above to go a bit further:

...is missing here, because string concatenation in gas, unlike
in C,
keeps the \0 between each individual string.

Quoted 5 lines
Quoted 2 lines

Would that be OK with you? (I can do it on commit if you are happy with it)

Sure, fine with me :)

Could this be applied, then?

Best regards

Dirk

Quoted 23 lines
Quoted 22 lines
Quoted 21 lines
---
  xen/arch/arm/arm64/head.S |    4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)
xen/arch/arm/arm64/head.S +2 -2
index 9ed9a93..19fa2bb 100644
@@ -309,8 +309,8 @@ common_start:
          b.eq  el2 /* Yes */
 
          /* OK, we're boned. */
-        PRINT("- Xen must be entered in NS EL2 mode -\r\n" \
-              "- Please update the bootloader -\r\n")
+        PRINT("- Xen must be entered in NS EL2 mode -\r\n")
+        PRINT("- Please update the bootloader -\r\n")
          b fail
 
  el2:    PRINT("- Xen starting at EL2 -\r\n")
#4 lore raw
Quoted 1 line · Dirk Behme

Could this be applied, then?

Yes, sorry, this fell through the cracks somehow. I've applied it to #staging now (from where automated testing will push it into #master).

I also added the same change to arm32/head.S and noted that I'd done so in the commit log, I figured it would be better to avoid another RTT and another chance to slip through the cracks to ask in advance, I hope that's ok.

I think this would be worth backporting to 4.6 and earlier (as far back as it applies). Jan or Ian -- would one of you mind doing so when the time comes please? (FYI I have no other pending backports)

Ian.

#5 lore raw
Quoted 7 lines
Quoted 1 line
Quoted 1 line · On 18.02.16 at 11:15, <[email protected]> wrote:
Quoted 1 line · Dirk Behme

Could this be applied, then?

Yes, sorry, this fell through the cracks somehow. I've applied it to #staging now (from where automated testing will push it into #master).

Quoted 8 lines

I also added the same change to arm32/head.S and noted that I'd done so in the commit log, I figured it would be better to avoid another RTT and another chance to slip through the cracks to ask in advance, I hope that's ok.

I think this would be worth backporting to 4.6 and earlier (as far back as it applies). Jan or Ian -- would one of you mind doing so when the time comes please? (FYI I have no other pending backports)

Sure.

Jan

#6 lore raw

Jan Beulich writes ("Re: [PATCH] xen/arm64: Make sure we get all debug output"):

Quoted 6 lines · On 18.02.16 at 11:15, <[email protected]> wrote:
Quoted 3 lines

I think this would be worth backporting to 4.6 and earlier (as far back as it applies). Jan or Ian -- would one of you mind doing so when the time comes please? (FYI I have no other pending backports)

Sure.

I have added this to my list too (but won't mind if Jan gets to it first).

Ian.

#7 lore raw
Quoted 4 lines
Quoted 1 line
Quoted 1 line · On 19.02.16 at 18:13, <[email protected]> wrote:

Jan Beulich writes ("Re: [PATCH] xen/arm64: Make sure we get all debug output"):

Quoted 1 line · On 18.02.16 at 11:15, <[email protected]> wrote:
Quoted 8 lines
Quoted 5 lines
Quoted 3 lines

I think this would be worth backporting to 4.6 and earlier (as far back as it applies). Jan or Ian -- would one of you mind doing so when the time comes please? (FYI I have no other pending backports)

Sure.

I have added this to my list too (but won't mind if Jan gets to it first).

It's already done (I had pushed it together with the XSA-154 fixup).

Jan