All of lore.kernel.org
 help / color / mirror / Atom feed
* Build error iasl/dsdt after commit "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges"
@ 2014-05-21 18:58 Sander Eikelenboom
  2014-05-22  7:24 ` Jan Beulich
  0 siblings, 1 reply; 8+ messages in thread
From: Sander Eikelenboom @ 2014-05-21 18:58 UTC (permalink / raw)
  To: Jan Beulich; +Cc: xen-devel

Hi Jan,

It seems commit "d06886694328a31369addc1f614cf326728d65a6: 
"hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges"
causes the build error below.

In case it's relevant it's with iasl from debian wheezy, which is version:  iasl 20100528-3 
--
Sander

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations
sed -e 's/AmlCode/ssdt_tpm/g' ssdt_tpm.hex >ssdt_tpm.h
rm -f ssdt_tpm.hex ssdt_tpm.aml
gcc   -O1 -fno-omit-frame-pointer -m32 -march=i686 -g -fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement -Wno-unused-but-set-variable -Wno-unused-local-typedefs   -D__XEN_TOOLS__ -MMD -MF .build.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -mno-tls-direct-seg-refs  -Werror -fno-stack-protector -fno-exceptions -fno-builtin -msoft-float -I/usr/src/new/xen-unstable/tools/firmware/hvmloader/acpi/../../../../tools/include  -c -o build.o build.c
gcc -Wall -Werror -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -Wdeclaration-after-statement -I/usr/src/new/xen-unstable/tools/firmware/hvmloader/acpi/../../../../tools/include -o mk_dsdt mk_dsdt.c
awk 'NR > 1 {print s} {s=$0}' dsdt.asl > dsdt_anycpu.asl
./mk_dsdt --maxcpu any  >> dsdt_anycpu.asl
iasl -vs -p dsdt_anycpu -tc dsdt_anycpu.asl
dsdt_anycpu.asl   165:                         0x0000000000000000,
Error    4122 -                                                 ^ Invalid combination of Length and Min/Max fixed flags

ASL Input:  dsdt_anycpu.asl - 10985 lines, 388387 bytes, 7984 keywords
Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 2627 Optimizations
make[8]: *** [dsdt_anycpu.c] Error 255

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

* Re: Build error iasl/dsdt after commit "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges"
  2014-05-21 18:58 Build error iasl/dsdt after commit "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges" Sander Eikelenboom
@ 2014-05-22  7:24 ` Jan Beulich
  2014-05-22  9:16   ` Ian Campbell
  0 siblings, 1 reply; 8+ messages in thread
From: Jan Beulich @ 2014-05-22  7:24 UTC (permalink / raw)
  To: Sander Eikelenboom; +Cc: Ian Campbell, xen-devel

>>> On 21.05.14 at 20:58, <linux@eikelenboom.it> wrote:
> It seems commit "d06886694328a31369addc1f614cf326728d65a6: 
> "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges"
> causes the build error below.
> 
> In case it's relevant it's with iasl from debian wheezy, which is version:  
> iasl 20100528-3 

I tried a variety of iasl-s (ranging from 2006 to 2012), with none of
them triggering this. So I'm afraid this is a bug of the specific iasl in
Wheezy - I'm not sure how to deal with that. Furthermore, as already
indicated in a reply to an inquiry on it by Ian C, I'm having a physical
machine here with exactly the same QWordMemory() template, so all
zeros in there can't be entirely wrong. While we overwrite all three
fields (HMIN, HMAX, and HLEN) anyway, I'm not sure putting in some
random range deemed valid by that specific tool version is a good
idea. But to help with the decision, could you try whether that

                    QWordMemory (
                        ResourceProducer, PosDecode, MinFixed, MaxFixed,
                        NonCacheable, ReadWrite,
                        0x0000000000000000,
                        0x0000000fffffffff,
                        0x0000001000000000,
                        0x0000000000000000,
                        0x0000000000000001,
                        ,, _Y02)


would at least help?

Jan

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

* Re: Build error iasl/dsdt after commit "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges"
  2014-05-22  7:24 ` Jan Beulich
@ 2014-05-22  9:16   ` Ian Campbell
  2014-05-22  9:30     ` Jan Beulich
  0 siblings, 1 reply; 8+ messages in thread
From: Ian Campbell @ 2014-05-22  9:16 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Sander Eikelenboom, xen-devel

On Thu, 2014-05-22 at 08:24 +0100, Jan Beulich wrote:
> >>> On 21.05.14 at 20:58, <linux@eikelenboom.it> wrote:
> > It seems commit "d06886694328a31369addc1f614cf326728d65a6: 
> > "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges"
> > causes the build error below.
> > 
> > In case it's relevant it's with iasl from debian wheezy, which is version:  
> > iasl 20100528-3 
> 
> I tried a variety of iasl-s (ranging from 2006 to 2012), with none of
> them triggering this. So I'm afraid this is a bug of the specific iasl in
> Wheezy - I'm not sure how to deal with that.

FWIW I can reproduce on a Wheezy machine. The automated tests run under
Wheezy so this is probably going to block testing.

I think the chances of getting Wheezy fixed are pretty minimal, at least
soon. I think we will probably have to work around it.

>  Furthermore, as already
> indicated in a reply to an inquiry on it by Ian C, I'm having a physical
> machine here with exactly the same QWordMemory() template, so all
> zeros in there can't be entirely wrong. While we overwrite all three
> fields (HMIN, HMAX, and HLEN) anyway, I'm not sure putting in some
> random range deemed valid by that specific tool version is a good
> idea. But to help with the decision, could you try whether that
> 
>                     QWordMemory (
>                         ResourceProducer, PosDecode, MinFixed, MaxFixed,
>                         NonCacheable, ReadWrite,
>                         0x0000000000000000,
>                         0x0000000fffffffff,
>                         0x0000001000000000,
>                         0x0000000000000000,
>                         0x0000000000000001,
>                         ,, _Y02)
> 
> 
> would at least help?

Unfortunately not:
dsdt_anycpu.asl   164:                          0x0000000000000001,
Error    4118 -      Length is not equal to fixed Min/Max window ^ 

I also tried ...ffffffc + 4 and ..fffff8 + 8 in case it was a alignment
requirement or something, but apparently not since it didn't help.

I also tried a 100000000-100000001 span, no joy.

This worked though:
                  QWordMemory (
                         ResourceProducer, PosDecode, MinFixed, MaxFixed,
                         NonCacheable, ReadWrite,
                         0x0000000000000000,
                         0x0000001000000000,
                         0x000000100000000f,
                         0x0000000000000000,
                         0x0000000000000010,
                         ,, _Y02)

But this doesn't:
                  QWordMemory (
                         ResourceProducer, PosDecode, MinFixed, MaxFixed,
                         NonCacheable, ReadWrite,
                         0x0000000000000000,
                         0x0000000ffffffff0,
                         0x0000001000000000,
                         0x0000000000000000,
                         0x0000000000000010,
                         ,, _Y02)


Ian.

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

* Re: Build error iasl/dsdt after commit "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges"
  2014-05-22  9:16   ` Ian Campbell
@ 2014-05-22  9:30     ` Jan Beulich
  2014-05-22  9:56       ` Ian Campbell
  0 siblings, 1 reply; 8+ messages in thread
From: Jan Beulich @ 2014-05-22  9:30 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Sander Eikelenboom, xen-devel

>>> On 22.05.14 at 11:16, <Ian.Campbell@eu.citrix.com> wrote:
> This worked though:
>                   QWordMemory (
>                          ResourceProducer, PosDecode, MinFixed, MaxFixed,
>                          NonCacheable, ReadWrite,
>                          0x0000000000000000,
>                          0x0000001000000000,
>                          0x000000100000000f,
>                          0x0000000000000000,
>                          0x0000000000000010,
>                          ,, _Y02)
> 
> But this doesn't:
>                   QWordMemory (
>                          ResourceProducer, PosDecode, MinFixed, MaxFixed,
>                          NonCacheable, ReadWrite,
>                          0x0000000000000000,
>                          0x0000000ffffffff0,
>                          0x0000001000000000,
>                          0x0000000000000000,
>                          0x0000000000000010,
>                          ,, _Y02)

That last one is one off - the end address ought to be fffffffff. If
that works, it would still end up being an alignment issue... (The
reason for picking the original numbers was that I want the
range as far off as possible, but also not beyond the default
36-bit boundary. Minus eventual alignment requirements I'd like
to stick to that.)

Jan

Jan

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

* Re: Build error iasl/dsdt after commit "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges"
  2014-05-22  9:30     ` Jan Beulich
@ 2014-05-22  9:56       ` Ian Campbell
  2014-05-22 10:07         ` Jan Beulich
  0 siblings, 1 reply; 8+ messages in thread
From: Ian Campbell @ 2014-05-22  9:56 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Sander Eikelenboom, xen-devel

On Thu, 2014-05-22 at 10:30 +0100, Jan Beulich wrote:
> >>> On 22.05.14 at 11:16, <Ian.Campbell@eu.citrix.com> wrote:
> > This worked though:
> >                   QWordMemory (
> >                          ResourceProducer, PosDecode, MinFixed, MaxFixed,
> >                          NonCacheable, ReadWrite,
> >                          0x0000000000000000,
> >                          0x0000001000000000,
> >                          0x000000100000000f,
> >                          0x0000000000000000,
> >                          0x0000000000000010,
> >                          ,, _Y02)
> > 
> > But this doesn't:
> >                   QWordMemory (
> >                          ResourceProducer, PosDecode, MinFixed, MaxFixed,
> >                          NonCacheable, ReadWrite,
> >                          0x0000000000000000,
> >                          0x0000000ffffffff0,
> >                          0x0000001000000000,
> >                          0x0000000000000000,
> >                          0x0000000000000010,
> >                          ,, _Y02)
> 
> That last one is one off - the end address ought to be fffffffff. If
> that works, it would still end up being an alignment issue...

Ah yes. this works:
                 QWordMemory (
                         ResourceProducer, PosDecode, MinFixed, MaxFixed,
                         NonCacheable, ReadWrite,
                         0x0000000000000000,
                         0x0000000ffffffff0,
                         0x0000000fffffffff,
                         0x0000000000000000,
                         0x0000000000000010,
                         ,, _Y02)

Ian.

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

* Re: Build error iasl/dsdt after commit "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges"
  2014-05-22  9:56       ` Ian Campbell
@ 2014-05-22 10:07         ` Jan Beulich
  2014-05-22 10:12           ` Ian Campbell
  0 siblings, 1 reply; 8+ messages in thread
From: Jan Beulich @ 2014-05-22 10:07 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Sander Eikelenboom, xen-devel

>>> On 22.05.14 at 11:56, <Ian.Campbell@eu.citrix.com> wrote:
> On Thu, 2014-05-22 at 10:30 +0100, Jan Beulich wrote:
>> >>> On 22.05.14 at 11:16, <Ian.Campbell@eu.citrix.com> wrote:
>> > This worked though:
>> >                   QWordMemory (
>> >                          ResourceProducer, PosDecode, MinFixed, MaxFixed,
>> >                          NonCacheable, ReadWrite,
>> >                          0x0000000000000000,
>> >                          0x0000001000000000,
>> >                          0x000000100000000f,
>> >                          0x0000000000000000,
>> >                          0x0000000000000010,
>> >                          ,, _Y02)
>> > 
>> > But this doesn't:
>> >                   QWordMemory (
>> >                          ResourceProducer, PosDecode, MinFixed, MaxFixed,
>> >                          NonCacheable, ReadWrite,
>> >                          0x0000000000000000,
>> >                          0x0000000ffffffff0,
>> >                          0x0000001000000000,
>> >                          0x0000000000000000,
>> >                          0x0000000000000010,
>> >                          ,, _Y02)
>> 
>> That last one is one off - the end address ought to be fffffffff. If
>> that works, it would still end up being an alignment issue...
> 
> Ah yes. this works:
>                  QWordMemory (
>                          ResourceProducer, PosDecode, MinFixed, MaxFixed,
>                          NonCacheable, ReadWrite,
>                          0x0000000000000000,
>                          0x0000000ffffffff0,
>                          0x0000000fffffffff,
>                          0x0000000000000000,
>                          0x0000000000000010,
>                          ,, _Y02)

Good. Are you okay with an incremental fix (once tested), or should
I revert?

Jan

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

* Re: Build error iasl/dsdt after commit "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges"
  2014-05-22 10:07         ` Jan Beulich
@ 2014-05-22 10:12           ` Ian Campbell
  2014-05-22 12:21             ` Jan Beulich
  0 siblings, 1 reply; 8+ messages in thread
From: Ian Campbell @ 2014-05-22 10:12 UTC (permalink / raw)
  To: Jan Beulich; +Cc: Sander Eikelenboom, xen-devel

On Thu, 2014-05-22 at 11:07 +0100, Jan Beulich wrote:
> >>> On 22.05.14 at 11:56, <Ian.Campbell@eu.citrix.com> wrote:
> > Ah yes. this works:
> >                  QWordMemory (
> >                          ResourceProducer, PosDecode, MinFixed, MaxFixed,
> >                          NonCacheable, ReadWrite,
> >                          0x0000000000000000,
> >                          0x0000000ffffffff0,
> >                          0x0000000fffffffff,
> >                          0x0000000000000000,
> >                          0x0000000000000010,
> >                          ,, _Y02)
> 
> Good. Are you okay with an incremental fix (once tested), or should
> I revert?

Incremental is fine by me. In fact for a patch which changes to the
above: Acked-by: Ian Campbell <ian.campbell@citrix.com>

Ian.

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

* Re: Build error iasl/dsdt after commit "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges"
  2014-05-22 10:12           ` Ian Campbell
@ 2014-05-22 12:21             ` Jan Beulich
  0 siblings, 0 replies; 8+ messages in thread
From: Jan Beulich @ 2014-05-22 12:21 UTC (permalink / raw)
  To: Ian Campbell; +Cc: Sander Eikelenboom, xen-devel

>>> On 22.05.14 at 12:12, <Ian.Campbell@eu.citrix.com> wrote:
> On Thu, 2014-05-22 at 11:07 +0100, Jan Beulich wrote:
>> >>> On 22.05.14 at 11:56, <Ian.Campbell@eu.citrix.com> wrote:
>> > Ah yes. this works:
>> >                  QWordMemory (
>> >                          ResourceProducer, PosDecode, MinFixed, MaxFixed,
>> >                          NonCacheable, ReadWrite,
>> >                          0x0000000000000000,
>> >                          0x0000000ffffffff0,
>> >                          0x0000000fffffffff,
>> >                          0x0000000000000000,
>> >                          0x0000000000000010,
>> >                          ,, _Y02)
>> 
>> Good. Are you okay with an incremental fix (once tested), or should
>> I revert?
> 
> Incremental is fine by me. In fact for a patch which changes to the
> above: Acked-by: Ian Campbell <ian.campbell@citrix.com>

Thanks, committed and pushed.

Jan

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

end of thread, other threads:[~2014-05-22 12:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-21 18:58 Build error iasl/dsdt after commit "hvmloader: also cover PCI MMIO ranges above 4G with UC MTRR ranges" Sander Eikelenboom
2014-05-22  7:24 ` Jan Beulich
2014-05-22  9:16   ` Ian Campbell
2014-05-22  9:30     ` Jan Beulich
2014-05-22  9:56       ` Ian Campbell
2014-05-22 10:07         ` Jan Beulich
2014-05-22 10:12           ` Ian Campbell
2014-05-22 12:21             ` Jan Beulich

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.