All of lore.kernel.org
 help / color / mirror / Atom feed
* sparc64 PCI BAR allocation is still problematic
@ 2018-04-08 18:44 ` Meelis Roos
  0 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-08 18:44 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: linux-pci, sparclinux

This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
corresponding https://bugzilla.kernel.org/show_bug.cgi?id=117191 entry.

I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
BAR allocation problems introduced in 4.3 were fixed on some of them. 
Alas, no change at all - of the test machines, none showed any changes 
in the error messages in "dmesg | grep BAR".

There was one test machine, T1000 with no addon cards, that did not 
encounter any problem, before or after the recent patch. All the other 
test machines tried still have the BAR allocation problems.

The errors seem to cluster into 3 categories:

1. many devices fail BAR allocations
2. one of the Davicom Ethernet devices fails BAR allocation
3. Uli ISA bridge fails BAR allocation.

Full current dmesg and lspci info is also available if there is any 
interest. I did not include it all here, which machines are interesting?

Details:

1. Many devices, including preventing FC HBA from working on T1-105:

T1-105:
pci 0000:00:01.0: can't claim BAR 8 [mem 0x1ff00000000-0x1ffbfffffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]
pci 0000:02:01.0: can't claim BAR 8 [mem 0x1ff00100000-0x1ff028fffff]: no compatible bridge window
pci 0000:03:0f.0: can't claim BAR 8 [mem 0x1ff00100000-0x1ff028fffff]: no compatible bridge window
pci 0000:04:00.0: can't claim BAR 0 [mem 0x1ff01000000-0x1ff01ffffff]: no compatible bridge window
pci 0000:04:00.0: can't claim BAR 1 [mem 0x1ff02000000-0x1ff027fffff]: no compatible bridge window
pci 0000:04:00.1: can't claim BAR 0 [mem 0x1ff02800000-0x1ff0280702f]: no compatible bridge window
pci 0000:04:04.0: can't claim BAR 1 [mem 0x1ff02808000-0x1ff02808fff]: no compatible bridge window
pci 0000:04:04.0: can't claim BAR 6 [mem 0x1ff02810000-0x1ff0281ffff]: no compatible bridge windowqla1280 0000:04:04.0: can't ioremap BAR 1: [mem size 0x00001000]

T1-200:
pci 0000:00:01.0: can't claim BAR 8 [mem 0x1ff00000000-0x1ffbfffffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]
pci 0000:02:08.0: can't claim BAR 1 [mem 0x1ff00002000-0x1ff00003fff 64bit]: no compatible bridge window
pci 0000:02:08.0: can't claim BAR 3 [mem 0x1ff00004000-0x1ff00005fff 64bit]: no compatible bridge window
pci 0000:02:08.1: can't claim BAR 1 [mem 0x1ff00006000-0x1ff00007fff 64bit]: no compatible bridge window
pci 0000:02:08.1: can't claim BAR 3 [mem 0x1ff00008000-0x1ff00009fff 64bit]: no compatible bridge window
pci 0000:02:05.0: can't claim BAR 1 [mem 0x1ff0000a000-0x1ff0000bfff]: no compatible bridge window
pci 0000:02:05.0: can't claim BAR 6 [mem 0x1ff00020000-0x1ff0003ffff]: no compatible bridge window

V120:
pci 0000:00:01.0: can't claim BAR 8 [mem 0x1ff00000000-0x1ffbfffffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]
pci 0000:02:08.0: can't claim BAR 1 [mem 0x1ff00002000-0x1ff00003fff 64bit]: no compatible bridge window
pci 0000:02:08.0: can't claim BAR 3 [mem 0x1ff00004000-0x1ff00005fff 64bit]: no compatible bridge window
pci 0000:02:08.1: can't claim BAR 1 [mem 0x1ff00006000-0x1ff00007fff 64bit]: no compatible bridge window
pci 0000:02:08.1: can't claim BAR 3 [mem 0x1ff00008000-0x1ff00009fff 64bit]: no compatible bridge window

2. Davicom Ethernet:

Netra X1:
pci 0000:00:05.0: can't claim BAR 6 [mem 0x1ff00080000-0x1ff000bffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]

Fire V100:
pci 0000:00:05.0: can't claim BAR 6 [mem 0x1ff00080000-0x1ff000bffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]


3. ULi ISA bridge:

T2000:
pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window

V245:
pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window

V210:
pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
pci 0001:00:07.0: can't claim BAR 1 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]
pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]

V240:
pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
pci 0001:00:07.0: can't claim BAR 1 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]
pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]

V440:
pci 0002:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0002:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
pci 0002:00:07.0: can't claim BAR 1 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]
pci 0002:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]

Blade 100:
pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]
pci 0000:00:07.0: can't claim BAR 1 [mem 0x1ff00000000-0x1ff000fffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]


-- 
Meelis Roos (mroos@linux.ee)

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

* sparc64 PCI BAR allocation is still problematic
@ 2018-04-08 18:44 ` Meelis Roos
  0 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-08 18:44 UTC (permalink / raw)
  To: Yinghai Lu; +Cc: linux-pci, sparclinux

This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
corresponding https://bugzilla.kernel.org/show_bug.cgi?id\x117191 entry.

I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
BAR allocation problems introduced in 4.3 were fixed on some of them. 
Alas, no change at all - of the test machines, none showed any changes 
in the error messages in "dmesg | grep BAR".

There was one test machine, T1000 with no addon cards, that did not 
encounter any problem, before or after the recent patch. All the other 
test machines tried still have the BAR allocation problems.

The errors seem to cluster into 3 categories:

1. many devices fail BAR allocations
2. one of the Davicom Ethernet devices fails BAR allocation
3. Uli ISA bridge fails BAR allocation.

Full current dmesg and lspci info is also available if there is any 
interest. I did not include it all here, which machines are interesting?

Details:

1. Many devices, including preventing FC HBA from working on T1-105:

T1-105:
pci 0000:00:01.0: can't claim BAR 8 [mem 0x1ff00000000-0x1ffbfffffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]
pci 0000:02:01.0: can't claim BAR 8 [mem 0x1ff00100000-0x1ff028fffff]: no compatible bridge window
pci 0000:03:0f.0: can't claim BAR 8 [mem 0x1ff00100000-0x1ff028fffff]: no compatible bridge window
pci 0000:04:00.0: can't claim BAR 0 [mem 0x1ff01000000-0x1ff01ffffff]: no compatible bridge window
pci 0000:04:00.0: can't claim BAR 1 [mem 0x1ff02000000-0x1ff027fffff]: no compatible bridge window
pci 0000:04:00.1: can't claim BAR 0 [mem 0x1ff02800000-0x1ff0280702f]: no compatible bridge window
pci 0000:04:04.0: can't claim BAR 1 [mem 0x1ff02808000-0x1ff02808fff]: no compatible bridge window
pci 0000:04:04.0: can't claim BAR 6 [mem 0x1ff02810000-0x1ff0281ffff]: no compatible bridge windowqla1280 0000:04:04.0: can't ioremap BAR 1: [mem size 0x00001000]

T1-200:
pci 0000:00:01.0: can't claim BAR 8 [mem 0x1ff00000000-0x1ffbfffffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]
pci 0000:02:08.0: can't claim BAR 1 [mem 0x1ff00002000-0x1ff00003fff 64bit]: no compatible bridge window
pci 0000:02:08.0: can't claim BAR 3 [mem 0x1ff00004000-0x1ff00005fff 64bit]: no compatible bridge window
pci 0000:02:08.1: can't claim BAR 1 [mem 0x1ff00006000-0x1ff00007fff 64bit]: no compatible bridge window
pci 0000:02:08.1: can't claim BAR 3 [mem 0x1ff00008000-0x1ff00009fff 64bit]: no compatible bridge window
pci 0000:02:05.0: can't claim BAR 1 [mem 0x1ff0000a000-0x1ff0000bfff]: no compatible bridge window
pci 0000:02:05.0: can't claim BAR 6 [mem 0x1ff00020000-0x1ff0003ffff]: no compatible bridge window

V120:
pci 0000:00:01.0: can't claim BAR 8 [mem 0x1ff00000000-0x1ffbfffffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]
pci 0000:02:08.0: can't claim BAR 1 [mem 0x1ff00002000-0x1ff00003fff 64bit]: no compatible bridge window
pci 0000:02:08.0: can't claim BAR 3 [mem 0x1ff00004000-0x1ff00005fff 64bit]: no compatible bridge window
pci 0000:02:08.1: can't claim BAR 1 [mem 0x1ff00006000-0x1ff00007fff 64bit]: no compatible bridge window
pci 0000:02:08.1: can't claim BAR 3 [mem 0x1ff00008000-0x1ff00009fff 64bit]: no compatible bridge window

2. Davicom Ethernet:

Netra X1:
pci 0000:00:05.0: can't claim BAR 6 [mem 0x1ff00080000-0x1ff000bffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]

Fire V100:
pci 0000:00:05.0: can't claim BAR 6 [mem 0x1ff00080000-0x1ff000bffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]


3. ULi ISA bridge:

T2000:
pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window

V245:
pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window

V210:
pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
pci 0001:00:07.0: can't claim BAR 1 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]
pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]

V240:
pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
pci 0001:00:07.0: can't claim BAR 1 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]
pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]

V440:
pci 0002:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0002:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
pci 0002:00:07.0: can't claim BAR 1 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]
pci 0002:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]

Blade 100:
pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]
pci 0000:00:07.0: can't claim BAR 1 [mem 0x1ff00000000-0x1ff000fffff]: address conflict with Video RAM area [??? 0x1ff000a0000-0x1ff000bffff flags 0x80000000]


-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-08 18:44 ` Meelis Roos
@ 2018-04-08 21:21   ` David Miller
  -1 siblings, 0 replies; 40+ messages in thread
From: David Miller @ 2018-04-08 21:21 UTC (permalink / raw)
  To: mroos; +Cc: yinghai, linux-pci, sparclinux

From: Meelis Roos <mroos@linux.ee>
Date: Sun, 8 Apr 2018 21:44:57 +0300 (EEST)

> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> corresponding https://bugzilla.kernel.org/show_bug.cgi?id=117191 entry.
> 
> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> BAR allocation problems introduced in 4.3 were fixed on some of them. 
> Alas, no change at all - of the test machines, none showed any changes 
> in the error messages in "dmesg | grep BAR".
> 
> There was one test machine, T1000 with no addon cards, that did not 
> encounter any problem, before or after the recent patch. All the other 
> test machines tried still have the BAR allocation problems.
> 
> The errors seem to cluster into 3 categories:
> 
> 1. many devices fail BAR allocations
> 2. one of the Davicom Ethernet devices fails BAR allocation
> 3. Uli ISA bridge fails BAR allocation.
> 
> Full current dmesg and lspci info is also available if there is any 
> interest. I did not include it all here, which machines are interesting?

PCI folks, please look into this.

A regression like this should not linger since 4.3, thank you.

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-08 21:21   ` David Miller
  0 siblings, 0 replies; 40+ messages in thread
From: David Miller @ 2018-04-08 21:21 UTC (permalink / raw)
  To: mroos; +Cc: yinghai, linux-pci, sparclinux

From: Meelis Roos <mroos@linux.ee>
Date: Sun, 8 Apr 2018 21:44:57 +0300 (EEST)

> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> corresponding https://bugzilla.kernel.org/show_bug.cgi?id\x117191 entry.
> 
> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> BAR allocation problems introduced in 4.3 were fixed on some of them. 
> Alas, no change at all - of the test machines, none showed any changes 
> in the error messages in "dmesg | grep BAR".
> 
> There was one test machine, T1000 with no addon cards, that did not 
> encounter any problem, before or after the recent patch. All the other 
> test machines tried still have the BAR allocation problems.
> 
> The errors seem to cluster into 3 categories:
> 
> 1. many devices fail BAR allocations
> 2. one of the Davicom Ethernet devices fails BAR allocation
> 3. Uli ISA bridge fails BAR allocation.
> 
> Full current dmesg and lspci info is also available if there is any 
> interest. I did not include it all here, which machines are interesting?

PCI folks, please look into this.

A regression like this should not linger since 4.3, thank you.

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-08 21:21   ` David Miller
@ 2018-04-09  3:00     ` Sinan Kaya
  -1 siblings, 0 replies; 40+ messages in thread
From: Sinan Kaya @ 2018-04-09  3:00 UTC (permalink / raw)
  To: David Miller, mroos; +Cc: yinghai, linux-pci, sparclinux

On 4/8/2018 5:21 PM, David Miller wrote:
> From: Meelis Roos <mroos@linux.ee>
> Date: Sun, 8 Apr 2018 21:44:57 +0300 (EEST)
> 
>> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
>> corresponding https://bugzilla.kernel.org/show_bug.cgi?id=117191 entry.
>>
>> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
>> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
>> BAR allocation problems introduced in 4.3 were fixed on some of them. 
>> Alas, no change at all - of the test machines, none showed any changes 
>> in the error messages in "dmesg | grep BAR".
>>
>> There was one test machine, T1000 with no addon cards, that did not 
>> encounter any problem, before or after the recent patch. All the other 
>> test machines tried still have the BAR allocation problems.
>>
>> The errors seem to cluster into 3 categories:
>>
>> 1. many devices fail BAR allocations
>> 2. one of the Davicom Ethernet devices fails BAR allocation
>> 3. Uli ISA bridge fails BAR allocation.
>>
>> Full current dmesg and lspci info is also available if there is any 
>> interest. I did not include it all here, which machines are interesting?
> 
> PCI folks, please look into this.
> 
> A regression like this should not linger since 4.3, thank you.
> 

It sounds like a FW issue. Does the problem go away when you boot with
pci=realloc kernel command line?


-- 
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-09  3:00     ` Sinan Kaya
  0 siblings, 0 replies; 40+ messages in thread
From: Sinan Kaya @ 2018-04-09  3:00 UTC (permalink / raw)
  To: David Miller, mroos; +Cc: yinghai, linux-pci, sparclinux

On 4/8/2018 5:21 PM, David Miller wrote:
> From: Meelis Roos <mroos@linux.ee>
> Date: Sun, 8 Apr 2018 21:44:57 +0300 (EEST)
> 
>> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
>> corresponding https://bugzilla.kernel.org/show_bug.cgi?id\x117191 entry.
>>
>> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
>> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
>> BAR allocation problems introduced in 4.3 were fixed on some of them. 
>> Alas, no change at all - of the test machines, none showed any changes 
>> in the error messages in "dmesg | grep BAR".
>>
>> There was one test machine, T1000 with no addon cards, that did not 
>> encounter any problem, before or after the recent patch. All the other 
>> test machines tried still have the BAR allocation problems.
>>
>> The errors seem to cluster into 3 categories:
>>
>> 1. many devices fail BAR allocations
>> 2. one of the Davicom Ethernet devices fails BAR allocation
>> 3. Uli ISA bridge fails BAR allocation.
>>
>> Full current dmesg and lspci info is also available if there is any 
>> interest. I did not include it all here, which machines are interesting?
> 
> PCI folks, please look into this.
> 
> A regression like this should not linger since 4.3, thank you.
> 

It sounds like a FW issue. Does the problem go away when you boot with
pci=realloc kernel command line?


-- 
Sinan Kaya
Qualcomm Datacenter Technologies, Inc. as an affiliate of Qualcomm Technologies, Inc.
Qualcomm Technologies, Inc. is a member of the Code Aurora Forum, a Linux Foundation Collaborative Project.

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-08 18:44 ` Meelis Roos
@ 2018-04-09  3:23   ` Bjorn Helgaas
  -1 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-09  3:23 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Sun, Apr 08, 2018 at 09:44:57PM +0300, Meelis Roos wrote:
> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> corresponding https://bugzilla.kernel.org/show_bug.cgi?id=117191 entry.
> 
> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> BAR allocation problems introduced in 4.3 were fixed on some of them. 
> Alas, no change at all - of the test machines, none showed any changes 
> in the error messages in "dmesg | grep BAR".
> 
> There was one test machine, T1000 with no addon cards, that did not 
> encounter any problem, before or after the recent patch. All the other 
> test machines tried still have the BAR allocation problems.
> 
> The errors seem to cluster into 3 categories:
> 
> 1. many devices fail BAR allocations
> 2. one of the Davicom Ethernet devices fails BAR allocation
> 3. Uli ISA bridge fails BAR allocation.
> 
> Full current dmesg and lspci info is also available if there is any 
> interest. I did not include it all here, which machines are interesting?

I'm interested in that info.  Can you attach it all to the bugzilla?
I can't predict ahead of time which pieces will be useful.

If you happen to have more specific information about which commit
introduced the regression, that might be helpful, but it's probably
not worth starting a new bisection yet.

Bjorn

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-09  3:23   ` Bjorn Helgaas
  0 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-09  3:23 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Sun, Apr 08, 2018 at 09:44:57PM +0300, Meelis Roos wrote:
> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> corresponding https://bugzilla.kernel.org/show_bug.cgi?id\x117191 entry.
> 
> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> BAR allocation problems introduced in 4.3 were fixed on some of them. 
> Alas, no change at all - of the test machines, none showed any changes 
> in the error messages in "dmesg | grep BAR".
> 
> There was one test machine, T1000 with no addon cards, that did not 
> encounter any problem, before or after the recent patch. All the other 
> test machines tried still have the BAR allocation problems.
> 
> The errors seem to cluster into 3 categories:
> 
> 1. many devices fail BAR allocations
> 2. one of the Davicom Ethernet devices fails BAR allocation
> 3. Uli ISA bridge fails BAR allocation.
> 
> Full current dmesg and lspci info is also available if there is any 
> interest. I did not include it all here, which machines are interesting?

I'm interested in that info.  Can you attach it all to the bugzilla?
I can't predict ahead of time which pieces will be useful.

If you happen to have more specific information about which commit
introduced the regression, that might be helpful, but it's probably
not worth starting a new bisection yet.

Bjorn

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-09  3:00     ` Sinan Kaya
@ 2018-04-09 10:47       ` Meelis Roos
  -1 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-09 10:47 UTC (permalink / raw)
  To: Sinan Kaya; +Cc: David Miller, yinghai, linux-pci, sparclinux

> >> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> >> corresponding https://bugzilla.kernel.org/show_bug.cgi?id=117191 entry.
> >>
> >> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> >> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> >> BAR allocation problems introduced in 4.3 were fixed on some of them. 
> >> Alas, no change at all - of the test machines, none showed any changes 
> >> in the error messages in "dmesg | grep BAR".
> >>
> >> There was one test machine, T1000 with no addon cards, that did not 
> >> encounter any problem, before or after the recent patch. All the other 
> >> test machines tried still have the BAR allocation problems.
> >>
> >> The errors seem to cluster into 3 categories:
> >>
> >> 1. many devices fail BAR allocations
> >> 2. one of the Davicom Ethernet devices fails BAR allocation
> >> 3. Uli ISA bridge fails BAR allocation.
> >>
> >> Full current dmesg and lspci info is also available if there is any 
> >> interest. I did not include it all here, which machines are interesting?
> > 
> > PCI folks, please look into this.
> > 
> > A regression like this should not linger since 4.3, thank you.
> > 
> 
> It sounds like a FW issue. Does the problem go away when you boot with
> pci=realloc kernel command line?

Tried it on T2000, still the same.

-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-09 10:47       ` Meelis Roos
  0 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-09 10:47 UTC (permalink / raw)
  To: Sinan Kaya; +Cc: David Miller, yinghai, linux-pci, sparclinux

> >> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> >> corresponding https://bugzilla.kernel.org/show_bug.cgi?id\x117191 entry.
> >>
> >> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> >> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> >> BAR allocation problems introduced in 4.3 were fixed on some of them. 
> >> Alas, no change at all - of the test machines, none showed any changes 
> >> in the error messages in "dmesg | grep BAR".
> >>
> >> There was one test machine, T1000 with no addon cards, that did not 
> >> encounter any problem, before or after the recent patch. All the other 
> >> test machines tried still have the BAR allocation problems.
> >>
> >> The errors seem to cluster into 3 categories:
> >>
> >> 1. many devices fail BAR allocations
> >> 2. one of the Davicom Ethernet devices fails BAR allocation
> >> 3. Uli ISA bridge fails BAR allocation.
> >>
> >> Full current dmesg and lspci info is also available if there is any 
> >> interest. I did not include it all here, which machines are interesting?
> > 
> > PCI folks, please look into this.
> > 
> > A regression like this should not linger since 4.3, thank you.
> > 
> 
> It sounds like a FW issue. Does the problem go away when you boot with
> pci=realloc kernel command line?

Tried it on T2000, still the same.

-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-09  3:23   ` Bjorn Helgaas
@ 2018-04-09 14:30     ` Meelis Roos
  -1 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-09 14:30 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> > Full current dmesg and lspci info is also available if there is any 
> > interest. I did not include it all here, which machines are interesting?
> 
> I'm interested in that info.  Can you attach it all to the bugzilla?
> I can't predict ahead of time which pieces will be useful.

Added, all of them.

-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-09 14:30     ` Meelis Roos
  0 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-09 14:30 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> > Full current dmesg and lspci info is also available if there is any 
> > interest. I did not include it all here, which machines are interesting?
> 
> I'm interested in that info.  Can you attach it all to the bugzilla?
> I can't predict ahead of time which pieces will be useful.

Added, all of them.

-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-08 18:44 ` Meelis Roos
@ 2018-04-10 17:34   ` Bjorn Helgaas
  -1 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-10 17:34 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Sun, Apr 08, 2018 at 09:44:57PM +0300, Meelis Roos wrote:
> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> corresponding https://bugzilla.kernel.org/show_bug.cgi?id=117191 entry.
> 
> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> BAR allocation problems introduced in 4.3 were fixed on some of them. 
> Alas, no change at all - of the test machines, none showed any changes 
> in the error messages in "dmesg | grep BAR".
> 
> There was one test machine, T1000 with no addon cards, that did not 
> encounter any problem, before or after the recent patch. All the other 
> test machines tried still have the BAR allocation problems.
> 
> The errors seem to cluster into 3 categories:
> 
> 1. many devices fail BAR allocations
> 2. one of the Davicom Ethernet devices fails BAR allocation
> 3. Uli ISA bridge fails BAR allocation.

Thank you very much for all the data you've collected, and I apologize
for the fact that this has lingered so long.  Yinghai started fixing
some of these a year ago, but the conversation petered out before it
got completed.

There are several unrelated problems here, so I'm looking at one at a
time.

Below is a test patch (based on fd3b36d27566) for the "conflict with
Video RAM" messages.  Could you try this on one of the machines that
complains about that?  I'm interested in the dmesg and /proc/iomem
contents.  You already attached the lspci output, and I don't think
this patch will affect that.

It looks like everything except T2000 and V245 has this problem (it's
dependent on whether the box has a VGA device and whether firmware has
assigned the VGA framebuffer area to some non-VGA device).  Most of
your machines have other problems as well, and I'll look at those
next.

Bjorn


commit bc270e0028cd0856d5689cab38f0071f0d07b3be
Author: Bjorn Helgaas <bhelgaas@google.com>
Date:   Tue Apr 10 08:47:34 2018 -0500

    sparc/PCI: Request legacy VGA framebuffer only for VGA devices
    
    Previously we unconditionally requested the legacy VGA framebuffer (bus
    address 0xa0000-0xbffff) before we even know what PCI devices are present,
    in these paths:
    
      pci_fire_pbm_init, schizo_pbm_init, pci_sun4v_pbm_init, psycho_pbm_init_common
        pci_determine_mem_io_space
          pci_register_legacy_regions
            p->start = mem_res->start + 0xa0000
            request_resource(mem_res, p)    # claim VGA framebuffer
        pci_scan_one_pbm
          pci_of_scan_bus                   # scan DT for PCI devices
          pci_claim_bus_resources           # claim PCI device BARs
    
    If we found a PCI device with a BAR that overlapped the framebuffer area,
    we complained about not being able to claim the BAR, e.g.,
    
      pci_bus 0002:00: root bus resource [mem 0x7ff00000000-0x7ffffffffff] (bus address [0x00000000-0xffffffff])
      pci 0002:00:07.0: can't claim BAR 1 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]
    
    If there is no VGA device in the same PCI segment, there's no reason to
    reserve the framebuffer and there's no conflict.
    
    If there *is* a VGA device in the same segment, both the VGA device and the
    device with an overlapping BAR may respond to the framebuffer addresses,
    which may cause bus errors.
    
    Request the legacy framebuffer area only when we actually find a VGA
    device.  This is not sparc-specific and could be made more generic in the
    PCI core eventually.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=117191
    Reported-by: Meelis Roos <mroos@linux.ee>

diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index 41b20edb427d..e2b4f2e44dd3 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -624,6 +624,44 @@ static void pci_bus_register_of_sysfs(struct pci_bus *bus)
 		pci_bus_register_of_sysfs(child_bus);
 }
 
+static void pci_claim_legacy_resources(struct pci_dev *dev)
+{
+	struct pci_bus_region region;
+	struct resource *p, *root, *conflict;
+
+	if ((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA)
+		return;
+
+	p = kzalloc(sizeof(*p), GFP_KERNEL);
+	if (!p)
+		return;
+
+	p->name = "Video RAM area";
+	p->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
+
+	region.start = 0xa0000UL;
+	region.end = region.start + 0x1ffffUL;
+	pcibios_bus_to_resource(bus, p, &region);
+
+	root = pci_find_parent_resource(dev, p);
+	if (!root) {
+		pci_info(dev, "can't claim VGA legacy %pR: no compatible bridge window\n", p);
+		goto err;
+	}
+
+	conflict = request_resource_conflict(root, p);
+	if (conflict) {
+		pci_info(dev, "can't claim VGA legacy %pR: address conflict with %s %pR\n",
+			 p, conflict->name, conflict);
+		goto err;
+	}
+
+	return;
+
+err:
+	kfree(p);
+}
+
 static void pci_claim_bus_resources(struct pci_bus *bus)
 {
 	struct pci_bus *child_bus;
@@ -648,6 +686,8 @@ static void pci_claim_bus_resources(struct pci_bus *bus)
 
 			pci_claim_resource(dev, i);
 		}
+
+		pci_claim_legacy_resources(dev);
 	}
 
 	list_for_each_entry(child_bus, &bus->children, node)
@@ -687,6 +727,7 @@ struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,
 	pci_bus_register_of_sysfs(bus);
 
 	pci_claim_bus_resources(bus);
+
 	pci_bus_add_devices(bus);
 	return bus;
 }
diff --git a/arch/sparc/kernel/pci_common.c b/arch/sparc/kernel/pci_common.c
index 38d46bcc8634..9bb6a192ef3f 100644
--- a/arch/sparc/kernel/pci_common.c
+++ b/arch/sparc/kernel/pci_common.c
@@ -329,23 +329,6 @@ void pci_get_pbm_props(struct pci_pbm_info *pbm)
 	}
 }
 
-static void pci_register_legacy_regions(struct resource *io_res,
-					struct resource *mem_res)
-{
-	struct resource *p;
-
-	/* VGA Video RAM. */
-	p = kzalloc(sizeof(*p), GFP_KERNEL);
-	if (!p)
-		return;
-
-	p->name = "Video RAM area";
-	p->start = mem_res->start + 0xa0000UL;
-	p->end = p->start + 0x1ffffUL;
-	p->flags = IORESOURCE_BUSY;
-	request_resource(mem_res, p);
-}
-
 static void pci_register_iommu_region(struct pci_pbm_info *pbm)
 {
 	const u32 *vdma = of_get_property(pbm->op->dev.of_node, "virtual-dma",
@@ -487,8 +470,6 @@ void pci_determine_mem_io_space(struct pci_pbm_info *pbm)
 	if (pbm->mem64_space.flags)
 		request_resource(&iomem_resource, &pbm->mem64_space);
 
-	pci_register_legacy_regions(&pbm->io_space,
-				    &pbm->mem_space);
 	pci_register_iommu_region(pbm);
 }
 

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-10 17:34   ` Bjorn Helgaas
  0 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-10 17:34 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Sun, Apr 08, 2018 at 09:44:57PM +0300, Meelis Roos wrote:
> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> corresponding https://bugzilla.kernel.org/show_bug.cgi?id\x117191 entry.
> 
> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> BAR allocation problems introduced in 4.3 were fixed on some of them. 
> Alas, no change at all - of the test machines, none showed any changes 
> in the error messages in "dmesg | grep BAR".
> 
> There was one test machine, T1000 with no addon cards, that did not 
> encounter any problem, before or after the recent patch. All the other 
> test machines tried still have the BAR allocation problems.
> 
> The errors seem to cluster into 3 categories:
> 
> 1. many devices fail BAR allocations
> 2. one of the Davicom Ethernet devices fails BAR allocation
> 3. Uli ISA bridge fails BAR allocation.

Thank you very much for all the data you've collected, and I apologize
for the fact that this has lingered so long.  Yinghai started fixing
some of these a year ago, but the conversation petered out before it
got completed.

There are several unrelated problems here, so I'm looking at one at a
time.

Below is a test patch (based on fd3b36d27566) for the "conflict with
Video RAM" messages.  Could you try this on one of the machines that
complains about that?  I'm interested in the dmesg and /proc/iomem
contents.  You already attached the lspci output, and I don't think
this patch will affect that.

It looks like everything except T2000 and V245 has this problem (it's
dependent on whether the box has a VGA device and whether firmware has
assigned the VGA framebuffer area to some non-VGA device).  Most of
your machines have other problems as well, and I'll look at those
next.

Bjorn


commit bc270e0028cd0856d5689cab38f0071f0d07b3be
Author: Bjorn Helgaas <bhelgaas@google.com>
Date:   Tue Apr 10 08:47:34 2018 -0500

    sparc/PCI: Request legacy VGA framebuffer only for VGA devices
    
    Previously we unconditionally requested the legacy VGA framebuffer (bus
    address 0xa0000-0xbffff) before we even know what PCI devices are present,
    in these paths:
    
      pci_fire_pbm_init, schizo_pbm_init, pci_sun4v_pbm_init, psycho_pbm_init_common
        pci_determine_mem_io_space
          pci_register_legacy_regions
            p->start = mem_res->start + 0xa0000
            request_resource(mem_res, p)    # claim VGA framebuffer
        pci_scan_one_pbm
          pci_of_scan_bus                   # scan DT for PCI devices
          pci_claim_bus_resources           # claim PCI device BARs
    
    If we found a PCI device with a BAR that overlapped the framebuffer area,
    we complained about not being able to claim the BAR, e.g.,
    
      pci_bus 0002:00: root bus resource [mem 0x7ff00000000-0x7ffffffffff] (bus address [0x00000000-0xffffffff])
      pci 0002:00:07.0: can't claim BAR 1 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]
    
    If there is no VGA device in the same PCI segment, there's no reason to
    reserve the framebuffer and there's no conflict.
    
    If there *is* a VGA device in the same segment, both the VGA device and the
    device with an overlapping BAR may respond to the framebuffer addresses,
    which may cause bus errors.
    
    Request the legacy framebuffer area only when we actually find a VGA
    device.  This is not sparc-specific and could be made more generic in the
    PCI core eventually.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\x117191
    Reported-by: Meelis Roos <mroos@linux.ee>

diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index 41b20edb427d..e2b4f2e44dd3 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -624,6 +624,44 @@ static void pci_bus_register_of_sysfs(struct pci_bus *bus)
 		pci_bus_register_of_sysfs(child_bus);
 }
 
+static void pci_claim_legacy_resources(struct pci_dev *dev)
+{
+	struct pci_bus_region region;
+	struct resource *p, *root, *conflict;
+
+	if ((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA)
+		return;
+
+	p = kzalloc(sizeof(*p), GFP_KERNEL);
+	if (!p)
+		return;
+
+	p->name = "Video RAM area";
+	p->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
+
+	region.start = 0xa0000UL;
+	region.end = region.start + 0x1ffffUL;
+	pcibios_bus_to_resource(bus, p, &region);
+
+	root = pci_find_parent_resource(dev, p);
+	if (!root) {
+		pci_info(dev, "can't claim VGA legacy %pR: no compatible bridge window\n", p);
+		goto err;
+	}
+
+	conflict = request_resource_conflict(root, p);
+	if (conflict) {
+		pci_info(dev, "can't claim VGA legacy %pR: address conflict with %s %pR\n",
+			 p, conflict->name, conflict);
+		goto err;
+	}
+
+	return;
+
+err:
+	kfree(p);
+}
+
 static void pci_claim_bus_resources(struct pci_bus *bus)
 {
 	struct pci_bus *child_bus;
@@ -648,6 +686,8 @@ static void pci_claim_bus_resources(struct pci_bus *bus)
 
 			pci_claim_resource(dev, i);
 		}
+
+		pci_claim_legacy_resources(dev);
 	}
 
 	list_for_each_entry(child_bus, &bus->children, node)
@@ -687,6 +727,7 @@ struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,
 	pci_bus_register_of_sysfs(bus);
 
 	pci_claim_bus_resources(bus);
+
 	pci_bus_add_devices(bus);
 	return bus;
 }
diff --git a/arch/sparc/kernel/pci_common.c b/arch/sparc/kernel/pci_common.c
index 38d46bcc8634..9bb6a192ef3f 100644
--- a/arch/sparc/kernel/pci_common.c
+++ b/arch/sparc/kernel/pci_common.c
@@ -329,23 +329,6 @@ void pci_get_pbm_props(struct pci_pbm_info *pbm)
 	}
 }
 
-static void pci_register_legacy_regions(struct resource *io_res,
-					struct resource *mem_res)
-{
-	struct resource *p;
-
-	/* VGA Video RAM. */
-	p = kzalloc(sizeof(*p), GFP_KERNEL);
-	if (!p)
-		return;
-
-	p->name = "Video RAM area";
-	p->start = mem_res->start + 0xa0000UL;
-	p->end = p->start + 0x1ffffUL;
-	p->flags = IORESOURCE_BUSY;
-	request_resource(mem_res, p);
-}
-
 static void pci_register_iommu_region(struct pci_pbm_info *pbm)
 {
 	const u32 *vdma = of_get_property(pbm->op->dev.of_node, "virtual-dma",
@@ -487,8 +470,6 @@ void pci_determine_mem_io_space(struct pci_pbm_info *pbm)
 	if (pbm->mem64_space.flags)
 		request_resource(&iomem_resource, &pbm->mem64_space);
 
-	pci_register_legacy_regions(&pbm->io_space,
-				    &pbm->mem_space);
 	pci_register_iommu_region(pbm);
 }
 

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-10 17:34   ` Bjorn Helgaas
@ 2018-04-10 18:45     ` Meelis Roos
  -1 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-10 18:45 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> commit bc270e0028cd0856d5689cab38f0071f0d07b3be
> Author: Bjorn Helgaas <bhelgaas@google.com>
> Date:   Tue Apr 10 08:47:34 2018 -0500
>=20
>     sparc/PCI: Request legacy VGA framebuffer only for VGA devices

Thank you.

It does not seem to compile for me:

  CC      arch/sparc/kernel/pci.o
arch/sparc/kernel/pci.c: In function =A1pci_claim_legacy_resources=A2:
arch/sparc/kernel/pci.c:644:26: error: =A1bus=A2 undeclared (first use in=
 this function)
  pcibios_bus_to_resource(bus, p, &region);


--=20
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-10 18:45     ` Meelis Roos
  0 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-10 18:45 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> commit bc270e0028cd0856d5689cab38f0071f0d07b3be
> Author: Bjorn Helgaas <bhelgaas@google.com>
> Date:   Tue Apr 10 08:47:34 2018 -0500
> 
>     sparc/PCI: Request legacy VGA framebuffer only for VGA devices

Thank you.

It does not seem to compile for me:

  CC      arch/sparc/kernel/pci.o
arch/sparc/kernel/pci.c: In function ¡pci_claim_legacy_resources¢:
arch/sparc/kernel/pci.c:644:26: error: ¡bus¢ undeclared (first use in this function)
  pcibios_bus_to_resource(bus, p, &region);


-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-10 18:45     ` Meelis Roos
@ 2018-04-10 18:56       ` Bjorn Helgaas
  -1 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-10 18:56 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Tue, Apr 10, 2018 at 09:45:09PM +0300, Meelis Roos wrote:
> > commit bc270e0028cd0856d5689cab38f0071f0d07b3be
> > Author: Bjorn Helgaas <bhelgaas@google.com>
> > Date:   Tue Apr 10 08:47:34 2018 -0500
> > 
> >     sparc/PCI: Request legacy VGA framebuffer only for VGA devices
> 
> Thank you.
> 
> It does not seem to compile for me:
> 
>   CC      arch/sparc/kernel/pci.o
> arch/sparc/kernel/pci.c: In function ‘pci_claim_legacy_resources’:
> arch/sparc/kernel/pci.c:644:26: error: ‘bus’ undeclared (first use in this function)
>   pcibios_bus_to_resource(bus, p, &region);

Oops, sorry, I can't easily compile test it.  Here's an updated patch:

commit a9ded309cbf3f57e9979848fd0aa0ffacdf11f1a
Author: Bjorn Helgaas <bhelgaas@google.com>
Date:   Tue Apr 10 08:47:34 2018 -0500

    sparc/PCI: Request legacy VGA framebuffer only for VGA devices
    
    Previously we unconditionally requested the legacy VGA framebuffer (bus
    address 0xa0000-0xbffff) before we even know what PCI devices are present,
    in these paths:
    
      pci_fire_pbm_init, schizo_pbm_init, pci_sun4v_pbm_init, psycho_pbm_init_common
        pci_determine_mem_io_space
          pci_register_legacy_regions
            p->start = mem_res->start + 0xa0000
            request_resource(mem_res, p)    # claim VGA framebuffer
        pci_scan_one_pbm
          pci_of_scan_bus                   # scan DT for PCI devices
          pci_claim_bus_resources           # claim PCI device BARs
    
    If we found a PCI device with a BAR that overlapped the framebuffer area,
    we complained about not being able to claim the BAR, e.g.,
    
      pci_bus 0002:00: root bus resource [mem 0x7ff00000000-0x7ffffffffff] (bus address [0x00000000-0xffffffff])
      pci 0002:00:07.0: can't claim BAR 1 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]
    
    If there is no VGA device in the same PCI segment, there's no reason to
    reserve the framebuffer and there's no conflict.
    
    If there *is* a VGA device in the same segment, both the VGA device and the
    device with an overlapping BAR may respond to the framebuffer addresses,
    which may cause bus errors.
    
    Request the legacy framebuffer area only when we actually find a VGA
    device.  This is not sparc-specific and could be made more generic in the
    PCI core eventually.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=117191
    Reported-by: Meelis Roos <mroos@linux.ee>

diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index 41b20edb427d..d5360e941620 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -624,6 +624,44 @@ static void pci_bus_register_of_sysfs(struct pci_bus *bus)
 		pci_bus_register_of_sysfs(child_bus);
 }
 
+static void pci_claim_legacy_resources(struct pci_dev *dev)
+{
+	struct pci_bus_region region;
+	struct resource *p, *root, *conflict;
+
+	if ((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA)
+		return;
+
+	p = kzalloc(sizeof(*p), GFP_KERNEL);
+	if (!p)
+		return;
+
+	p->name = "Video RAM area";
+	p->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
+
+	region.start = 0xa0000UL;
+	region.end = region.start + 0x1ffffUL;
+	pcibios_bus_to_resource(dev->bus, p, &region);
+
+	root = pci_find_parent_resource(dev, p);
+	if (!root) {
+		pci_info(dev, "can't claim VGA legacy %pR: no compatible bridge window\n", p);
+		goto err;
+	}
+
+	conflict = request_resource_conflict(root, p);
+	if (conflict) {
+		pci_info(dev, "can't claim VGA legacy %pR: address conflict with %s %pR\n",
+			 p, conflict->name, conflict);
+		goto err;
+	}
+
+	return;
+
+err:
+	kfree(p);
+}
+
 static void pci_claim_bus_resources(struct pci_bus *bus)
 {
 	struct pci_bus *child_bus;
@@ -648,6 +686,8 @@ static void pci_claim_bus_resources(struct pci_bus *bus)
 
 			pci_claim_resource(dev, i);
 		}
+
+		pci_claim_legacy_resources(dev);
 	}
 
 	list_for_each_entry(child_bus, &bus->children, node)
@@ -687,6 +727,7 @@ struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,
 	pci_bus_register_of_sysfs(bus);
 
 	pci_claim_bus_resources(bus);
+
 	pci_bus_add_devices(bus);
 	return bus;
 }
diff --git a/arch/sparc/kernel/pci_common.c b/arch/sparc/kernel/pci_common.c
index 38d46bcc8634..9bb6a192ef3f 100644
--- a/arch/sparc/kernel/pci_common.c
+++ b/arch/sparc/kernel/pci_common.c
@@ -329,23 +329,6 @@ void pci_get_pbm_props(struct pci_pbm_info *pbm)
 	}
 }
 
-static void pci_register_legacy_regions(struct resource *io_res,
-					struct resource *mem_res)
-{
-	struct resource *p;
-
-	/* VGA Video RAM. */
-	p = kzalloc(sizeof(*p), GFP_KERNEL);
-	if (!p)
-		return;
-
-	p->name = "Video RAM area";
-	p->start = mem_res->start + 0xa0000UL;
-	p->end = p->start + 0x1ffffUL;
-	p->flags = IORESOURCE_BUSY;
-	request_resource(mem_res, p);
-}
-
 static void pci_register_iommu_region(struct pci_pbm_info *pbm)
 {
 	const u32 *vdma = of_get_property(pbm->op->dev.of_node, "virtual-dma",
@@ -487,8 +470,6 @@ void pci_determine_mem_io_space(struct pci_pbm_info *pbm)
 	if (pbm->mem64_space.flags)
 		request_resource(&iomem_resource, &pbm->mem64_space);
 
-	pci_register_legacy_regions(&pbm->io_space,
-				    &pbm->mem_space);
 	pci_register_iommu_region(pbm);
 }
 

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-10 18:56       ` Bjorn Helgaas
  0 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-10 18:56 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Tue, Apr 10, 2018 at 09:45:09PM +0300, Meelis Roos wrote:
> > commit bc270e0028cd0856d5689cab38f0071f0d07b3be
> > Author: Bjorn Helgaas <bhelgaas@google.com>
> > Date:   Tue Apr 10 08:47:34 2018 -0500
> > 
> >     sparc/PCI: Request legacy VGA framebuffer only for VGA devices
> 
> Thank you.
> 
> It does not seem to compile for me:
> 
>   CC      arch/sparc/kernel/pci.o
> arch/sparc/kernel/pci.c: In function ‘pci_claim_legacy_resources’:
> arch/sparc/kernel/pci.c:644:26: error: ‘bus’ undeclared (first use in this function)
>   pcibios_bus_to_resource(bus, p, &region);

Oops, sorry, I can't easily compile test it.  Here's an updated patch:

commit a9ded309cbf3f57e9979848fd0aa0ffacdf11f1a
Author: Bjorn Helgaas <bhelgaas@google.com>
Date:   Tue Apr 10 08:47:34 2018 -0500

    sparc/PCI: Request legacy VGA framebuffer only for VGA devices
    
    Previously we unconditionally requested the legacy VGA framebuffer (bus
    address 0xa0000-0xbffff) before we even know what PCI devices are present,
    in these paths:
    
      pci_fire_pbm_init, schizo_pbm_init, pci_sun4v_pbm_init, psycho_pbm_init_common
        pci_determine_mem_io_space
          pci_register_legacy_regions
            p->start = mem_res->start + 0xa0000
            request_resource(mem_res, p)    # claim VGA framebuffer
        pci_scan_one_pbm
          pci_of_scan_bus                   # scan DT for PCI devices
          pci_claim_bus_resources           # claim PCI device BARs
    
    If we found a PCI device with a BAR that overlapped the framebuffer area,
    we complained about not being able to claim the BAR, e.g.,
    
      pci_bus 0002:00: root bus resource [mem 0x7ff00000000-0x7ffffffffff] (bus address [0x00000000-0xffffffff])
      pci 0002:00:07.0: can't claim BAR 1 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with Video RAM area [??? 0x7ff000a0000-0x7ff000bffff flags 0x80000000]
    
    If there is no VGA device in the same PCI segment, there's no reason to
    reserve the framebuffer and there's no conflict.
    
    If there *is* a VGA device in the same segment, both the VGA device and the
    device with an overlapping BAR may respond to the framebuffer addresses,
    which may cause bus errors.
    
    Request the legacy framebuffer area only when we actually find a VGA
    device.  This is not sparc-specific and could be made more generic in the
    PCI core eventually.
    
    Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id\x117191
    Reported-by: Meelis Roos <mroos@linux.ee>

diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index 41b20edb427d..d5360e941620 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -624,6 +624,44 @@ static void pci_bus_register_of_sysfs(struct pci_bus *bus)
 		pci_bus_register_of_sysfs(child_bus);
 }
 
+static void pci_claim_legacy_resources(struct pci_dev *dev)
+{
+	struct pci_bus_region region;
+	struct resource *p, *root, *conflict;
+
+	if ((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA)
+		return;
+
+	p = kzalloc(sizeof(*p), GFP_KERNEL);
+	if (!p)
+		return;
+
+	p->name = "Video RAM area";
+	p->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
+
+	region.start = 0xa0000UL;
+	region.end = region.start + 0x1ffffUL;
+	pcibios_bus_to_resource(dev->bus, p, &region);
+
+	root = pci_find_parent_resource(dev, p);
+	if (!root) {
+		pci_info(dev, "can't claim VGA legacy %pR: no compatible bridge window\n", p);
+		goto err;
+	}
+
+	conflict = request_resource_conflict(root, p);
+	if (conflict) {
+		pci_info(dev, "can't claim VGA legacy %pR: address conflict with %s %pR\n",
+			 p, conflict->name, conflict);
+		goto err;
+	}
+
+	return;
+
+err:
+	kfree(p);
+}
+
 static void pci_claim_bus_resources(struct pci_bus *bus)
 {
 	struct pci_bus *child_bus;
@@ -648,6 +686,8 @@ static void pci_claim_bus_resources(struct pci_bus *bus)
 
 			pci_claim_resource(dev, i);
 		}
+
+		pci_claim_legacy_resources(dev);
 	}
 
 	list_for_each_entry(child_bus, &bus->children, node)
@@ -687,6 +727,7 @@ struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,
 	pci_bus_register_of_sysfs(bus);
 
 	pci_claim_bus_resources(bus);
+
 	pci_bus_add_devices(bus);
 	return bus;
 }
diff --git a/arch/sparc/kernel/pci_common.c b/arch/sparc/kernel/pci_common.c
index 38d46bcc8634..9bb6a192ef3f 100644
--- a/arch/sparc/kernel/pci_common.c
+++ b/arch/sparc/kernel/pci_common.c
@@ -329,23 +329,6 @@ void pci_get_pbm_props(struct pci_pbm_info *pbm)
 	}
 }
 
-static void pci_register_legacy_regions(struct resource *io_res,
-					struct resource *mem_res)
-{
-	struct resource *p;
-
-	/* VGA Video RAM. */
-	p = kzalloc(sizeof(*p), GFP_KERNEL);
-	if (!p)
-		return;
-
-	p->name = "Video RAM area";
-	p->start = mem_res->start + 0xa0000UL;
-	p->end = p->start + 0x1ffffUL;
-	p->flags = IORESOURCE_BUSY;
-	request_resource(mem_res, p);
-}
-
 static void pci_register_iommu_region(struct pci_pbm_info *pbm)
 {
 	const u32 *vdma = of_get_property(pbm->op->dev.of_node, "virtual-dma",
@@ -487,8 +470,6 @@ void pci_determine_mem_io_space(struct pci_pbm_info *pbm)
 	if (pbm->mem64_space.flags)
 		request_resource(&iomem_resource, &pbm->mem64_space);
 
-	pci_register_legacy_regions(&pbm->io_space,
-				    &pbm->mem_space);
 	pci_register_iommu_region(pbm);
 }
 

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-10 18:56       ` Bjorn Helgaas
@ 2018-04-11  7:59         ` Meelis Roos
  -1 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-11  7:59 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> Oops, sorry, I can't easily compile test it.  Here's an updated patch:
> 
> commit a9ded309cbf3f57e9979848fd0aa0ffacdf11f1a
> Author: Bjorn Helgaas <bhelgaas@google.com>
> Date:   Tue Apr 10 08:47:34 2018 -0500

Thanks, this patch compiles and works - Video RAM related BAR allocation 
errors are gone.

Hera are the /proc/iomem's but unfortunately the physical 
addresses have been censored by security:

Netra X1: no BAR errors
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : 0000:00:0c.0
    00000000-00000000 : tulip
  00000000-00000000 : 0000:00:05.0
    00000000-00000000 : tulip
  00000000-00000000 : 0000:00:0c.0
  00000000-00000000 : 0000:00:05.0
  00000000-00000000 : 0000:00:0a.0
    00000000-00000000 : ohci_hcd
  00000000-00000000 : IOMMU

Fire V100: no BAR errors
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : 0000:00:0c.0
    00000000-00000000 : tulip
  00000000-00000000 : 0000:00:05.0
    00000000-00000000 : tulip
  00000000-00000000 : 0000:00:0c.0
  00000000-00000000 : 0000:00:05.0
  00000000-00000000 : 0000:00:0a.0
  00000000-00000000 : IOMMU

Netra T1-105: no BAR errors, qla1280 loads fine.
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : PCI Bus 0000:02
    00000000-00000000 : PCI Bus 0000:03
      00000000-00000000 : PCI Bus 0000:04
        00000000-00000000 : 0000:04:00.0
        00000000-00000000 : 0000:04:00.0
        00000000-00000000 : 0000:04:00.1
          00000000-00000000 : sunhme
        00000000-00000000 : 0000:04:04.0
        00000000-00000000 : 0000:04:04.0
  00000000-00000000 : IOMMU
  00000000-00000000 : PCI Bus 0000:01
    00000000-00000000 : 0000:01:01.1
      00000000-00000000 : sunhme
    00000000-00000000 : 0000:01:02.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:01:02.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:01:03.1
      00000000-00000000 : sunhme
    00000000-00000000 : eeprom
    00000000-00000000 : su
    00000000-00000000 : su
    00000000-00000000 : power
    00000000-00000000 : auxio

Netra T1-200: no BAR errors
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : PCI Bus 0000:02
    00000000-00000000 : 0000:02:08.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.1
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.1
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:05.0
      00000000-00000000 : qla2xxx
    00000000-00000000 : 0000:02:05.0
  00000000-00000000 : IOMMU
  00000000-00000000 : PCI Bus 0000:01
    00000000-00000000 : 0000:01:0c.1
      00000000-00000000 : sungem
    00000000-00000000 : 0000:01:05.1
      00000000-00000000 : sungem
    00000000-00000000 : 0000:01:0c.1
    00000000-00000000 : 0000:01:0c.3
    00000000-00000000 : 0000:01:0c.3
      00000000-00000000 : ohci_hcd
    00000000-00000000 : 0000:01:05.1
    00000000-00000000 : 0000:01:05.3
    00000000-00000000 : 0000:01:05.3
      00000000-00000000 : ohci_hcd
    00000000-00000000 : eeprom

Fire V120: no BAR errors
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : PCI Bus 0000:02
    00000000-00000000 : 0000:02:08.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.1
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.1
      00000000-00000000 : sym53c8xx
  00000000-00000000 : IOMMU
  00000000-00000000 : PCI Bus 0000:01
    00000000-00000000 : 0000:01:0c.1
      00000000-00000000 : sungem
    00000000-00000000 : 0000:01:05.1
      00000000-00000000 : sungem
    00000000-00000000 : 0000:01:0c.1
    00000000-00000000 : 0000:01:0c.3
    00000000-00000000 : 0000:01:0c.3
      00000000-00000000 : ohci_hcd
    00000000-00000000 : 0000:01:05.1
    00000000-00000000 : 0000:01:05.3
    00000000-00000000 : 0000:01:05.3
      00000000-00000000 : ohci_hcd
    00000000-00000000 : eeprom

Fire V210: Video RAM BAR error is gone, these are still here:
[    5.061083] pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
[    5.061334] pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0001:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : jbusmc
00000000-00000000 : jbusmc
00000000-00000000 : /pci@1d,700000
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1c,600000
  00000000-00000000 : 0002:00:02.0
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.0
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.1
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.1
    00000000-00000000 : sym53c8xx
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1f,700000
  00000000-00000000 : 0000:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1e,600000
  00000000-00000000 : 0001:00:07.0
  00000000-00000000 : 0001:00:0a.0
  00000000-00000000 : IOMMU

Fire V240: Video RAM BAR errors is gone, these are still here:
[    5.530237] pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
[    5.530389] pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0001:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : jbusmc
00000000-00000000 : jbusmc
00000000-00000000 : /pci@1d,700000
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1c,600000
  00000000-00000000 : 0002:00:02.0
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.0
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.1
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.1
    00000000-00000000 : sym53c8xx
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1f,700000
  00000000-00000000 : 0000:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1e,600000
  00000000-00000000 : 0001:00:07.0
  00000000-00000000 : 0001:00:03.0
    00000000-00000000 : skge
  00000000-00000000 : 0001:00:03.0
  00000000-00000000 : 0001:00:0a.0
  00000000-00000000 : IOMMU

Fire V440: Video RAM BAR error is gone, these are still here:
[    5.082920] pci 0002:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0002:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
[    5.082945] pci 0002:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0002:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : jbusmc
00000000-00000000 : jbusmc
00000000-00000000 : jbusmc
00000000-00000000 : jbusmc
00000000-00000000 : /pci@1d,700000
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1c,600000
  00000000-00000000 : 0000:00:02.0
  00000000-00000000 : 0000:00:02.0
    00000000-00000000 : eth0
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1f,700000
  00000000-00000000 : 0003:00:01.0
  00000000-00000000 : 0003:00:01.0
    00000000-00000000 : eth1
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : mpt
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : mpt
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : mpt
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : mpt
  00000000-00000000 : 0003:00:02.0
  00000000-00000000 : 0003:00:02.1
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1e,600000
  00000000-00000000 : 0002:00:07.0
  00000000-00000000 : 0002:00:0a.0
  00000000-00000000 : 0002:00:0b.0
  00000000-00000000 : IOMMU

Blade 100: Video RAM related BAR error is gnone, this is still here:
[    6.131499] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]

00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : 0000:00:07.0
  00000000-00000000 : 0000:00:0c.1
    00000000-00000000 : sungem
  00000000-00000000 : 0000:00:0c.2
  00000000-00000000 : 0000:00:0c.2
  00000000-00000000 : 0000:00:08.0
  00000000-00000000 : 0000:00:13.0
  00000000-00000000 : 0000:00:13.0
  00000000-00000000 : 0000:00:0c.1
  00000000-00000000 : 0000:00:0c.2
  00000000-00000000 : 0000:00:0c.3
  00000000-00000000 : 0000:00:0c.3
    00000000-00000000 : ohci_hcd
  00000000-00000000 : PCI Bus 0000:01
    00000000-00000000 : 0000:01:00.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:01:02.0
    00000000-00000000 : 0000:01:02.0
  00000000-00000000 : 0000:00:13.0
    00000000-00000000 : atyfb
  00000000-00000000 : IOMMU
  00000000-00000000 : eeprom


-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-11  7:59         ` Meelis Roos
  0 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-11  7:59 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> Oops, sorry, I can't easily compile test it.  Here's an updated patch:
> 
> commit a9ded309cbf3f57e9979848fd0aa0ffacdf11f1a
> Author: Bjorn Helgaas <bhelgaas@google.com>
> Date:   Tue Apr 10 08:47:34 2018 -0500

Thanks, this patch compiles and works - Video RAM related BAR allocation 
errors are gone.

Hera are the /proc/iomem's but unfortunately the physical 
addresses have been censored by security:

Netra X1: no BAR errors
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : 0000:00:0c.0
    00000000-00000000 : tulip
  00000000-00000000 : 0000:00:05.0
    00000000-00000000 : tulip
  00000000-00000000 : 0000:00:0c.0
  00000000-00000000 : 0000:00:05.0
  00000000-00000000 : 0000:00:0a.0
    00000000-00000000 : ohci_hcd
  00000000-00000000 : IOMMU

Fire V100: no BAR errors
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : 0000:00:0c.0
    00000000-00000000 : tulip
  00000000-00000000 : 0000:00:05.0
    00000000-00000000 : tulip
  00000000-00000000 : 0000:00:0c.0
  00000000-00000000 : 0000:00:05.0
  00000000-00000000 : 0000:00:0a.0
  00000000-00000000 : IOMMU

Netra T1-105: no BAR errors, qla1280 loads fine.
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : PCI Bus 0000:02
    00000000-00000000 : PCI Bus 0000:03
      00000000-00000000 : PCI Bus 0000:04
        00000000-00000000 : 0000:04:00.0
        00000000-00000000 : 0000:04:00.0
        00000000-00000000 : 0000:04:00.1
          00000000-00000000 : sunhme
        00000000-00000000 : 0000:04:04.0
        00000000-00000000 : 0000:04:04.0
  00000000-00000000 : IOMMU
  00000000-00000000 : PCI Bus 0000:01
    00000000-00000000 : 0000:01:01.1
      00000000-00000000 : sunhme
    00000000-00000000 : 0000:01:02.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:01:02.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:01:03.1
      00000000-00000000 : sunhme
    00000000-00000000 : eeprom
    00000000-00000000 : su
    00000000-00000000 : su
    00000000-00000000 : power
    00000000-00000000 : auxio

Netra T1-200: no BAR errors
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : PCI Bus 0000:02
    00000000-00000000 : 0000:02:08.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.1
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.1
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:05.0
      00000000-00000000 : qla2xxx
    00000000-00000000 : 0000:02:05.0
  00000000-00000000 : IOMMU
  00000000-00000000 : PCI Bus 0000:01
    00000000-00000000 : 0000:01:0c.1
      00000000-00000000 : sungem
    00000000-00000000 : 0000:01:05.1
      00000000-00000000 : sungem
    00000000-00000000 : 0000:01:0c.1
    00000000-00000000 : 0000:01:0c.3
    00000000-00000000 : 0000:01:0c.3
      00000000-00000000 : ohci_hcd
    00000000-00000000 : 0000:01:05.1
    00000000-00000000 : 0000:01:05.3
    00000000-00000000 : 0000:01:05.3
      00000000-00000000 : ohci_hcd
    00000000-00000000 : eeprom

Fire V120: no BAR errors
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : PCI Bus 0000:02
    00000000-00000000 : 0000:02:08.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.1
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:02:08.1
      00000000-00000000 : sym53c8xx
  00000000-00000000 : IOMMU
  00000000-00000000 : PCI Bus 0000:01
    00000000-00000000 : 0000:01:0c.1
      00000000-00000000 : sungem
    00000000-00000000 : 0000:01:05.1
      00000000-00000000 : sungem
    00000000-00000000 : 0000:01:0c.1
    00000000-00000000 : 0000:01:0c.3
    00000000-00000000 : 0000:01:0c.3
      00000000-00000000 : ohci_hcd
    00000000-00000000 : 0000:01:05.1
    00000000-00000000 : 0000:01:05.3
    00000000-00000000 : 0000:01:05.3
      00000000-00000000 : ohci_hcd
    00000000-00000000 : eeprom

Fire V210: Video RAM BAR error is gone, these are still here:
[    5.061083] pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
[    5.061334] pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0001:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : jbusmc
00000000-00000000 : jbusmc
00000000-00000000 : /pci@1d,700000
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1c,600000
  00000000-00000000 : 0002:00:02.0
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.0
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.1
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.1
    00000000-00000000 : sym53c8xx
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1f,700000
  00000000-00000000 : 0000:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1e,600000
  00000000-00000000 : 0001:00:07.0
  00000000-00000000 : 0001:00:0a.0
  00000000-00000000 : IOMMU

Fire V240: Video RAM BAR errors is gone, these are still here:
[    5.530237] pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
[    5.530389] pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0001:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : jbusmc
00000000-00000000 : jbusmc
00000000-00000000 : /pci@1d,700000
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1c,600000
  00000000-00000000 : 0002:00:02.0
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.0
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.1
    00000000-00000000 : sym53c8xx
  00000000-00000000 : 0002:00:02.1
    00000000-00000000 : sym53c8xx
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1f,700000
  00000000-00000000 : 0000:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.0
    00000000-00000000 : tg3
  00000000-00000000 : 0000:00:02.1
    00000000-00000000 : tg3
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1e,600000
  00000000-00000000 : 0001:00:07.0
  00000000-00000000 : 0001:00:03.0
    00000000-00000000 : skge
  00000000-00000000 : 0001:00:03.0
  00000000-00000000 : 0001:00:0a.0
  00000000-00000000 : IOMMU

Fire V440: Video RAM BAR error is gone, these are still here:
[    5.082920] pci 0002:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0002:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
[    5.082945] pci 0002:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0002:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : jbusmc
00000000-00000000 : jbusmc
00000000-00000000 : jbusmc
00000000-00000000 : jbusmc
00000000-00000000 : /pci@1d,700000
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1c,600000
  00000000-00000000 : 0000:00:02.0
  00000000-00000000 : 0000:00:02.0
    00000000-00000000 : eth0
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1f,700000
  00000000-00000000 : 0003:00:01.0
  00000000-00000000 : 0003:00:01.0
    00000000-00000000 : eth1
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : mpt
  00000000-00000000 : 0003:00:02.0
    00000000-00000000 : mpt
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : mpt
  00000000-00000000 : 0003:00:02.1
    00000000-00000000 : mpt
  00000000-00000000 : 0003:00:02.0
  00000000-00000000 : 0003:00:02.1
  00000000-00000000 : IOMMU
00000000-00000000 : /pci@1e,600000
  00000000-00000000 : 0002:00:07.0
  00000000-00000000 : 0002:00:0a.0
  00000000-00000000 : 0002:00:0b.0
  00000000-00000000 : IOMMU

Blade 100: Video RAM related BAR error is gnone, this is still here:
[    6.131499] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]

00000000-00000000 : System RAM
  00000000-00000000 : Kernel code
  00000000-00000000 : Kernel data
  00000000-00000000 : Kernel bss
00000000-00000000 : System RAM
00000000-00000000 : System RAM
00000000-00000000 : /pci@1f,0
  00000000-00000000 : 0000:00:07.0
  00000000-00000000 : 0000:00:0c.1
    00000000-00000000 : sungem
  00000000-00000000 : 0000:00:0c.2
  00000000-00000000 : 0000:00:0c.2
  00000000-00000000 : 0000:00:08.0
  00000000-00000000 : 0000:00:13.0
  00000000-00000000 : 0000:00:13.0
  00000000-00000000 : 0000:00:0c.1
  00000000-00000000 : 0000:00:0c.2
  00000000-00000000 : 0000:00:0c.3
  00000000-00000000 : 0000:00:0c.3
    00000000-00000000 : ohci_hcd
  00000000-00000000 : PCI Bus 0000:01
    00000000-00000000 : 0000:01:00.0
      00000000-00000000 : sym53c8xx
    00000000-00000000 : 0000:01:02.0
    00000000-00000000 : 0000:01:02.0
  00000000-00000000 : 0000:00:13.0
    00000000-00000000 : atyfb
  00000000-00000000 : IOMMU
  00000000-00000000 : eeprom


-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-11  7:59         ` Meelis Roos
@ 2018-04-11 13:33           ` Bjorn Helgaas
  -1 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-11 13:33 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Wed, Apr 11, 2018 at 10:59:19AM +0300, Meelis Roos wrote:
> > Oops, sorry, I can't easily compile test it.  Here's an updated patch:
> > 
> > commit a9ded309cbf3f57e9979848fd0aa0ffacdf11f1a
> > Author: Bjorn Helgaas <bhelgaas@google.com>
> > Date:   Tue Apr 10 08:47:34 2018 -0500
> 
> Thanks, this patch compiles and works - Video RAM related BAR allocation 
> errors are gone.

Great, thanks!  I didn't mean to take up so much of your time testing
*all* of your systems :)

> Hera are the /proc/iomem's but unfortunately the physical 
> addresses have been censored by security:

If you look at /proc/iomem as root, you should see the actual
addresses.

If you have any systems with VGA, it would be useful to test one of
them.  

I took a quick look through your lspci logs, and it *looks* like the
Blade 100 has a VGA at 00:13.0, but I don't see the "Video RAM area"
entry in /proc/iomem that I expected:

> Blade 100: Video RAM related BAR error is gnone, this is still here:
> [    6.131499] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]
> 
> 00000000-00000000 : System RAM
>   00000000-00000000 : Kernel code
>   00000000-00000000 : Kernel data
>   00000000-00000000 : Kernel bss
> 00000000-00000000 : System RAM
> 00000000-00000000 : System RAM
> 00000000-00000000 : /pci@1f,0
>   00000000-00000000 : 0000:00:07.0
>   00000000-00000000 : 0000:00:0c.1
>     00000000-00000000 : sungem
>   00000000-00000000 : 0000:00:0c.2
>   00000000-00000000 : 0000:00:0c.2
>   00000000-00000000 : 0000:00:08.0
>   00000000-00000000 : 0000:00:13.0
>   00000000-00000000 : 0000:00:13.0
>   00000000-00000000 : 0000:00:0c.1
>   00000000-00000000 : 0000:00:0c.2
>   00000000-00000000 : 0000:00:0c.3
>   00000000-00000000 : 0000:00:0c.3
>     00000000-00000000 : ohci_hcd
>   00000000-00000000 : PCI Bus 0000:01
>     00000000-00000000 : 0000:01:00.0
>       00000000-00000000 : sym53c8xx
>     00000000-00000000 : 0000:01:02.0
>     00000000-00000000 : 0000:01:02.0
>   00000000-00000000 : 0000:00:13.0
>     00000000-00000000 : atyfb
>   00000000-00000000 : IOMMU
>   00000000-00000000 : eeprom

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-11 13:33           ` Bjorn Helgaas
  0 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-11 13:33 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Wed, Apr 11, 2018 at 10:59:19AM +0300, Meelis Roos wrote:
> > Oops, sorry, I can't easily compile test it.  Here's an updated patch:
> > 
> > commit a9ded309cbf3f57e9979848fd0aa0ffacdf11f1a
> > Author: Bjorn Helgaas <bhelgaas@google.com>
> > Date:   Tue Apr 10 08:47:34 2018 -0500
> 
> Thanks, this patch compiles and works - Video RAM related BAR allocation 
> errors are gone.

Great, thanks!  I didn't mean to take up so much of your time testing
*all* of your systems :)

> Hera are the /proc/iomem's but unfortunately the physical 
> addresses have been censored by security:

If you look at /proc/iomem as root, you should see the actual
addresses.

If you have any systems with VGA, it would be useful to test one of
them.  

I took a quick look through your lspci logs, and it *looks* like the
Blade 100 has a VGA at 00:13.0, but I don't see the "Video RAM area"
entry in /proc/iomem that I expected:

> Blade 100: Video RAM related BAR error is gnone, this is still here:
> [    6.131499] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]
> 
> 00000000-00000000 : System RAM
>   00000000-00000000 : Kernel code
>   00000000-00000000 : Kernel data
>   00000000-00000000 : Kernel bss
> 00000000-00000000 : System RAM
> 00000000-00000000 : System RAM
> 00000000-00000000 : /pci@1f,0
>   00000000-00000000 : 0000:00:07.0
>   00000000-00000000 : 0000:00:0c.1
>     00000000-00000000 : sungem
>   00000000-00000000 : 0000:00:0c.2
>   00000000-00000000 : 0000:00:0c.2
>   00000000-00000000 : 0000:00:08.0
>   00000000-00000000 : 0000:00:13.0
>   00000000-00000000 : 0000:00:13.0
>   00000000-00000000 : 0000:00:0c.1
>   00000000-00000000 : 0000:00:0c.2
>   00000000-00000000 : 0000:00:0c.3
>   00000000-00000000 : 0000:00:0c.3
>     00000000-00000000 : ohci_hcd
>   00000000-00000000 : PCI Bus 0000:01
>     00000000-00000000 : 0000:01:00.0
>       00000000-00000000 : sym53c8xx
>     00000000-00000000 : 0000:01:02.0
>     00000000-00000000 : 0000:01:02.0
>   00000000-00000000 : 0000:00:13.0
>     00000000-00000000 : atyfb
>   00000000-00000000 : IOMMU
>   00000000-00000000 : eeprom

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-11 13:33           ` Bjorn Helgaas
@ 2018-04-11 14:40             ` Meelis Roos
  -1 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-11 14:40 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> On Wed, Apr 11, 2018 at 10:59:19AM +0300, Meelis Roos wrote:
> > > Oops, sorry, I can't easily compile test it.  Here's an updated patch:
> > > 
> > > commit a9ded309cbf3f57e9979848fd0aa0ffacdf11f1a
> > > Author: Bjorn Helgaas <bhelgaas@google.com>
> > > Date:   Tue Apr 10 08:47:34 2018 -0500
> > 
> > Thanks, this patch compiles and works - Video RAM related BAR allocation 
> > errors are gone.
> 
> Great, thanks!  I didn't mean to take up so much of your time testing
> *all* of your systems :)

Well, they compiled in parallel :)

> > Hera are the /proc/iomem's but unfortunately the physical 
> > addresses have been censored by security:
> 
> If you look at /proc/iomem as root, you should see the actual
> addresses.

Yes, that was it.

> If you have any systems with VGA, it would be useful to test one of
> them.  

This is Blade 100, with atyfb frame buffer:

# cat /proc/iomem 
00000000-7effdfff : System RAM
  00404000-0085aadf : Kernel code
  0085aae0-009b8a8f : Kernel data
  009f2000-00a37a37 : Kernel bss
7f000000-7fee5fff : System RAM
7ff04000-7ff0bfff : System RAM
1ff00000000-1ffffffffff : /pci@1f,0
  1ff00000000-1ff000fffff : 0000:00:07.0
  1ff00400000-1ff0041ffff : 0000:00:0c.1
    1ff00400000-1ff0041ffff : sungem
  1ff00420000-1ff00421fff : 0000:00:0c.2
  1ff00422000-1ff00423fff : 0000:00:0c.2
  1ff00424000-1ff00425fff : 0000:00:08.0
  1ff00426000-1ff00427fff : 0000:00:13.0
  1ff00440000-1ff0045ffff : 0000:00:13.0
  1ff00800000-1ff00bfffff : 0000:00:0c.1
  1ff00c00000-1ff00ffffff : 0000:00:0c.2
  1ff01000000-1ff013fffff : 0000:00:0c.3
  1ff02000000-1ff02ffffff : 0000:00:0c.3
    1ff02000000-1ff02ffffff : ohci_hcd
  1ff03000000-1ff030fffff : PCI Bus 0000:01
    1ff03000000-1ff03001fff : 0000:01:00.0
      1ff03000000-1ff03001fff : sym53c8xx
    1ff03002000-1ff03003fff : 0000:01:02.0
    1ff03010000-1ff0301ffff : 0000:01:02.0
  1ff04000000-1ff04ffffff : 0000:00:13.0
    1ff04000000-1ff04ffffff : atyfb
  1ffc0000000-1ffdfffffff : IOMMU
  1fff1000000-1fff1001fff : eeprom
 
> I took a quick look through your lspci logs, and it *looks* like the
> Blade 100 has a VGA at 00:13.0, but I don't see the "Video RAM area"
> entry in /proc/iomem that I expected:
> 
> > Blade 100: Video RAM related BAR error is gnone, this is still here:
> > [    6.131499] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]
> > 
> > 00000000-00000000 : System RAM
> >   00000000-00000000 : Kernel code
> >   00000000-00000000 : Kernel data
> >   00000000-00000000 : Kernel bss
> > 00000000-00000000 : System RAM
> > 00000000-00000000 : System RAM
> > 00000000-00000000 : /pci@1f,0
> >   00000000-00000000 : 0000:00:07.0
> >   00000000-00000000 : 0000:00:0c.1
> >     00000000-00000000 : sungem
> >   00000000-00000000 : 0000:00:0c.2
> >   00000000-00000000 : 0000:00:0c.2
> >   00000000-00000000 : 0000:00:08.0
> >   00000000-00000000 : 0000:00:13.0
> >   00000000-00000000 : 0000:00:13.0
> >   00000000-00000000 : 0000:00:0c.1
> >   00000000-00000000 : 0000:00:0c.2
> >   00000000-00000000 : 0000:00:0c.3
> >   00000000-00000000 : 0000:00:0c.3
> >     00000000-00000000 : ohci_hcd
> >   00000000-00000000 : PCI Bus 0000:01
> >     00000000-00000000 : 0000:01:00.0
> >       00000000-00000000 : sym53c8xx
> >     00000000-00000000 : 0000:01:02.0
> >     00000000-00000000 : 0000:01:02.0
> >   00000000-00000000 : 0000:00:13.0
> >     00000000-00000000 : atyfb
> >   00000000-00000000 : IOMMU
> >   00000000-00000000 : eeprom
> 

-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-11 14:40             ` Meelis Roos
  0 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-11 14:40 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> On Wed, Apr 11, 2018 at 10:59:19AM +0300, Meelis Roos wrote:
> > > Oops, sorry, I can't easily compile test it.  Here's an updated patch:
> > > 
> > > commit a9ded309cbf3f57e9979848fd0aa0ffacdf11f1a
> > > Author: Bjorn Helgaas <bhelgaas@google.com>
> > > Date:   Tue Apr 10 08:47:34 2018 -0500
> > 
> > Thanks, this patch compiles and works - Video RAM related BAR allocation 
> > errors are gone.
> 
> Great, thanks!  I didn't mean to take up so much of your time testing
> *all* of your systems :)

Well, they compiled in parallel :)

> > Hera are the /proc/iomem's but unfortunately the physical 
> > addresses have been censored by security:
> 
> If you look at /proc/iomem as root, you should see the actual
> addresses.

Yes, that was it.

> If you have any systems with VGA, it would be useful to test one of
> them.  

This is Blade 100, with atyfb frame buffer:

# cat /proc/iomem 
00000000-7effdfff : System RAM
  00404000-0085aadf : Kernel code
  0085aae0-009b8a8f : Kernel data
  009f2000-00a37a37 : Kernel bss
7f000000-7fee5fff : System RAM
7ff04000-7ff0bfff : System RAM
1ff00000000-1ffffffffff : /pci@1f,0
  1ff00000000-1ff000fffff : 0000:00:07.0
  1ff00400000-1ff0041ffff : 0000:00:0c.1
    1ff00400000-1ff0041ffff : sungem
  1ff00420000-1ff00421fff : 0000:00:0c.2
  1ff00422000-1ff00423fff : 0000:00:0c.2
  1ff00424000-1ff00425fff : 0000:00:08.0
  1ff00426000-1ff00427fff : 0000:00:13.0
  1ff00440000-1ff0045ffff : 0000:00:13.0
  1ff00800000-1ff00bfffff : 0000:00:0c.1
  1ff00c00000-1ff00ffffff : 0000:00:0c.2
  1ff01000000-1ff013fffff : 0000:00:0c.3
  1ff02000000-1ff02ffffff : 0000:00:0c.3
    1ff02000000-1ff02ffffff : ohci_hcd
  1ff03000000-1ff030fffff : PCI Bus 0000:01
    1ff03000000-1ff03001fff : 0000:01:00.0
      1ff03000000-1ff03001fff : sym53c8xx
    1ff03002000-1ff03003fff : 0000:01:02.0
    1ff03010000-1ff0301ffff : 0000:01:02.0
  1ff04000000-1ff04ffffff : 0000:00:13.0
    1ff04000000-1ff04ffffff : atyfb
  1ffc0000000-1ffdfffffff : IOMMU
  1fff1000000-1fff1001fff : eeprom
 
> I took a quick look through your lspci logs, and it *looks* like the
> Blade 100 has a VGA at 00:13.0, but I don't see the "Video RAM area"
> entry in /proc/iomem that I expected:
> 
> > Blade 100: Video RAM related BAR error is gnone, this is still here:
> > [    6.131499] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]
> > 
> > 00000000-00000000 : System RAM
> >   00000000-00000000 : Kernel code
> >   00000000-00000000 : Kernel data
> >   00000000-00000000 : Kernel bss
> > 00000000-00000000 : System RAM
> > 00000000-00000000 : System RAM
> > 00000000-00000000 : /pci@1f,0
> >   00000000-00000000 : 0000:00:07.0
> >   00000000-00000000 : 0000:00:0c.1
> >     00000000-00000000 : sungem
> >   00000000-00000000 : 0000:00:0c.2
> >   00000000-00000000 : 0000:00:0c.2
> >   00000000-00000000 : 0000:00:08.0
> >   00000000-00000000 : 0000:00:13.0
> >   00000000-00000000 : 0000:00:13.0
> >   00000000-00000000 : 0000:00:0c.1
> >   00000000-00000000 : 0000:00:0c.2
> >   00000000-00000000 : 0000:00:0c.3
> >   00000000-00000000 : 0000:00:0c.3
> >     00000000-00000000 : ohci_hcd
> >   00000000-00000000 : PCI Bus 0000:01
> >     00000000-00000000 : 0000:01:00.0
> >       00000000-00000000 : sym53c8xx
> >     00000000-00000000 : 0000:01:02.0
> >     00000000-00000000 : 0000:01:02.0
> >   00000000-00000000 : 0000:00:13.0
> >     00000000-00000000 : atyfb
> >   00000000-00000000 : IOMMU
> >   00000000-00000000 : eeprom
> 

-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-11 14:40             ` Meelis Roos
@ 2018-04-11 20:01               ` Bjorn Helgaas
  -1 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-11 20:01 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Wed, Apr 11, 2018 at 05:40:41PM +0300, Meelis Roos wrote:
> > On Wed, Apr 11, 2018 at 10:59:19AM +0300, Meelis Roos wrote:
> > > > Oops, sorry, I can't easily compile test it.  Here's an updated patch:
> > > > 
> > > > commit a9ded309cbf3f57e9979848fd0aa0ffacdf11f1a
> > > > Author: Bjorn Helgaas <bhelgaas@google.com>
> > > > Date:   Tue Apr 10 08:47:34 2018 -0500
> > > 
> > > Thanks, this patch compiles and works - Video RAM related BAR allocation 
> > > errors are gone.
> > 
> > Great, thanks!  I didn't mean to take up so much of your time testing
> > *all* of your systems :)
> 
> Well, they compiled in parallel :)
> 
> > > Hera are the /proc/iomem's but unfortunately the physical 
> > > addresses have been censored by security:
> > 
> > If you look at /proc/iomem as root, you should see the actual
> > addresses.
> 
> Yes, that was it.
> 
> > If you have any systems with VGA, it would be useful to test one of
> > them.  
> 
> This is Blade 100, with atyfb frame buffer:
> 
> # cat /proc/iomem 
> 00000000-7effdfff : System RAM
>   00404000-0085aadf : Kernel code
>   0085aae0-009b8a8f : Kernel data
>   009f2000-00a37a37 : Kernel bss
> 7f000000-7fee5fff : System RAM
> 7ff04000-7ff0bfff : System RAM
> 1ff00000000-1ffffffffff : /pci@1f,0
>   1ff00000000-1ff000fffff : 0000:00:07.0
>   1ff00400000-1ff0041ffff : 0000:00:0c.1
>     1ff00400000-1ff0041ffff : sungem
>   1ff00420000-1ff00421fff : 0000:00:0c.2
>   1ff00422000-1ff00423fff : 0000:00:0c.2
>   1ff00424000-1ff00425fff : 0000:00:08.0
>   1ff00426000-1ff00427fff : 0000:00:13.0
>   1ff00440000-1ff0045ffff : 0000:00:13.0

Thanks, this is really interesting.  Would you mind replacing the test
patch with the following (this applies directly on the upstream
kernel, e.g., fd3b36d27566)?

Sorry for the back and forth, but there's a lot going on here that I
don't understand.  

I'd like to see the complete dmesg log, /proc/iomem, and "lspci -vv".


diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index 41b20edb427d..ffb9227c1b80 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -166,7 +166,7 @@ void pci_config_write32(u32 *addr, u32 val)
 	spin_unlock_irqrestore(&pci_poke_lock, flags);
 }
 
-static int ofpci_verbose;
+static int ofpci_verbose = 1;
 
 static int __init ofpci_debug(char *str)
 {
@@ -243,6 +243,8 @@ static void pci_parse_of_addrs(struct platform_device *op,
 		res->end = op_res->end;
 		res->flags = flags;
 		res->name = pci_name(dev);
+
+		pci_info(dev, "reg 0x%x: %pR\n", i, res);
 	}
 }
 
@@ -353,6 +355,9 @@ static struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm,
 			dev->irq = PCI_IRQ_NONE;
 	}
 
+	pci_info(dev, "[%04x:%04x] type %02x class %#08x\n",
+		 dev->vendor, dev->device, dev->hdr_type, dev->class);
+
 	pci_parse_of_addrs(sd->op, node, dev);
 
 	if (ofpci_verbose)
@@ -624,6 +629,46 @@ static void pci_bus_register_of_sysfs(struct pci_bus *bus)
 		pci_bus_register_of_sysfs(child_bus);
 }
 
+static void pci_claim_legacy_resources(struct pci_dev *dev)
+{
+	struct pci_bus_region region;
+	struct resource *p, *root, *conflict;
+
+	pci_info(dev, "class %#x\n", dev->class);
+	if ((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA)
+		return;
+
+	p = kzalloc(sizeof(*p), GFP_KERNEL);
+	if (!p)
+		return;
+
+	p->name = "Video RAM area";
+	p->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
+
+	region.start = 0xa0000UL;
+	region.end = region.start + 0x1ffffUL;
+	pcibios_bus_to_resource(dev->bus, p, &region);
+
+	root = pci_find_parent_resource(dev, p);
+	if (!root) {
+		pci_info(dev, "can't claim VGA legacy %pR: no compatible bridge window\n", p);
+		goto err;
+	}
+
+	pci_info(dev, "requesting %pR from %s %pR\n", p, root->name, root);
+	conflict = request_resource_conflict(root, p);
+	if (conflict) {
+		pci_info(dev, "can't claim VGA legacy %pR: address conflict with %s %pR\n",
+			 p, conflict->name, conflict);
+		goto err;
+	}
+
+	return;
+
+err:
+	kfree(p);
+}
+
 static void pci_claim_bus_resources(struct pci_bus *bus)
 {
 	struct pci_bus *child_bus;
@@ -648,6 +693,8 @@ static void pci_claim_bus_resources(struct pci_bus *bus)
 
 			pci_claim_resource(dev, i);
 		}
+
+		pci_claim_legacy_resources(dev);
 	}
 
 	list_for_each_entry(child_bus, &bus->children, node)
@@ -687,6 +734,7 @@ struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,
 	pci_bus_register_of_sysfs(bus);
 
 	pci_claim_bus_resources(bus);
+
 	pci_bus_add_devices(bus);
 	return bus;
 }
diff --git a/arch/sparc/kernel/pci_common.c b/arch/sparc/kernel/pci_common.c
index 38d46bcc8634..9bb6a192ef3f 100644
--- a/arch/sparc/kernel/pci_common.c
+++ b/arch/sparc/kernel/pci_common.c
@@ -329,23 +329,6 @@ void pci_get_pbm_props(struct pci_pbm_info *pbm)
 	}
 }
 
-static void pci_register_legacy_regions(struct resource *io_res,
-					struct resource *mem_res)
-{
-	struct resource *p;
-
-	/* VGA Video RAM. */
-	p = kzalloc(sizeof(*p), GFP_KERNEL);
-	if (!p)
-		return;
-
-	p->name = "Video RAM area";
-	p->start = mem_res->start + 0xa0000UL;
-	p->end = p->start + 0x1ffffUL;
-	p->flags = IORESOURCE_BUSY;
-	request_resource(mem_res, p);
-}
-
 static void pci_register_iommu_region(struct pci_pbm_info *pbm)
 {
 	const u32 *vdma = of_get_property(pbm->op->dev.of_node, "virtual-dma",
@@ -487,8 +470,6 @@ void pci_determine_mem_io_space(struct pci_pbm_info *pbm)
 	if (pbm->mem64_space.flags)
 		request_resource(&iomem_resource, &pbm->mem64_space);
 
-	pci_register_legacy_regions(&pbm->io_space,
-				    &pbm->mem_space);
 	pci_register_iommu_region(pbm);
 }
 
diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c
index 1c5e74cb9279..147f8d205fdc 100644
--- a/drivers/gpu/vga/vgaarb.c
+++ b/drivers/gpu/vga/vgaarb.c
@@ -643,6 +643,7 @@ static bool vga_arbiter_add_pci_device(struct pci_dev *pdev)
 	 * clear that below if the bridge isn't forwarding
 	 */
 	pci_read_config_word(pdev, PCI_COMMAND, &cmd);
+	vgaarb_info(&pdev->dev, "command %#06x\n", cmd);
 	if (cmd & PCI_COMMAND_IO)
 		vgadev->owns |= VGA_RSRC_LEGACY_IO;
 	if (cmd & PCI_COMMAND_MEMORY)
@@ -1469,7 +1470,7 @@ static void __init vga_arb_select_default_device(void)
 						  struct vga_device, list);
 		if (vgadev) {
 			struct device *dev = &vgadev->pdev->dev;
-			vgaarb_info(dev, "setting as boot device (VGA legacy resources not available)\n");
+			vgaarb_info(dev, "setting as boot device (VGA legacy resources not enabled)\n");
 			vga_set_default_device(vgadev->pdev);
 		}
 	}

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-11 20:01               ` Bjorn Helgaas
  0 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-11 20:01 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Wed, Apr 11, 2018 at 05:40:41PM +0300, Meelis Roos wrote:
> > On Wed, Apr 11, 2018 at 10:59:19AM +0300, Meelis Roos wrote:
> > > > Oops, sorry, I can't easily compile test it.  Here's an updated patch:
> > > > 
> > > > commit a9ded309cbf3f57e9979848fd0aa0ffacdf11f1a
> > > > Author: Bjorn Helgaas <bhelgaas@google.com>
> > > > Date:   Tue Apr 10 08:47:34 2018 -0500
> > > 
> > > Thanks, this patch compiles and works - Video RAM related BAR allocation 
> > > errors are gone.
> > 
> > Great, thanks!  I didn't mean to take up so much of your time testing
> > *all* of your systems :)
> 
> Well, they compiled in parallel :)
> 
> > > Hera are the /proc/iomem's but unfortunately the physical 
> > > addresses have been censored by security:
> > 
> > If you look at /proc/iomem as root, you should see the actual
> > addresses.
> 
> Yes, that was it.
> 
> > If you have any systems with VGA, it would be useful to test one of
> > them.  
> 
> This is Blade 100, with atyfb frame buffer:
> 
> # cat /proc/iomem 
> 00000000-7effdfff : System RAM
>   00404000-0085aadf : Kernel code
>   0085aae0-009b8a8f : Kernel data
>   009f2000-00a37a37 : Kernel bss
> 7f000000-7fee5fff : System RAM
> 7ff04000-7ff0bfff : System RAM
> 1ff00000000-1ffffffffff : /pci@1f,0
>   1ff00000000-1ff000fffff : 0000:00:07.0
>   1ff00400000-1ff0041ffff : 0000:00:0c.1
>     1ff00400000-1ff0041ffff : sungem
>   1ff00420000-1ff00421fff : 0000:00:0c.2
>   1ff00422000-1ff00423fff : 0000:00:0c.2
>   1ff00424000-1ff00425fff : 0000:00:08.0
>   1ff00426000-1ff00427fff : 0000:00:13.0
>   1ff00440000-1ff0045ffff : 0000:00:13.0

Thanks, this is really interesting.  Would you mind replacing the test
patch with the following (this applies directly on the upstream
kernel, e.g., fd3b36d27566)?

Sorry for the back and forth, but there's a lot going on here that I
don't understand.  

I'd like to see the complete dmesg log, /proc/iomem, and "lspci -vv".


diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index 41b20edb427d..ffb9227c1b80 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -166,7 +166,7 @@ void pci_config_write32(u32 *addr, u32 val)
 	spin_unlock_irqrestore(&pci_poke_lock, flags);
 }
 
-static int ofpci_verbose;
+static int ofpci_verbose = 1;
 
 static int __init ofpci_debug(char *str)
 {
@@ -243,6 +243,8 @@ static void pci_parse_of_addrs(struct platform_device *op,
 		res->end = op_res->end;
 		res->flags = flags;
 		res->name = pci_name(dev);
+
+		pci_info(dev, "reg 0x%x: %pR\n", i, res);
 	}
 }
 
@@ -353,6 +355,9 @@ static struct pci_dev *of_create_pci_dev(struct pci_pbm_info *pbm,
 			dev->irq = PCI_IRQ_NONE;
 	}
 
+	pci_info(dev, "[%04x:%04x] type %02x class %#08x\n",
+		 dev->vendor, dev->device, dev->hdr_type, dev->class);
+
 	pci_parse_of_addrs(sd->op, node, dev);
 
 	if (ofpci_verbose)
@@ -624,6 +629,46 @@ static void pci_bus_register_of_sysfs(struct pci_bus *bus)
 		pci_bus_register_of_sysfs(child_bus);
 }
 
+static void pci_claim_legacy_resources(struct pci_dev *dev)
+{
+	struct pci_bus_region region;
+	struct resource *p, *root, *conflict;
+
+	pci_info(dev, "class %#x\n", dev->class);
+	if ((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA)
+		return;
+
+	p = kzalloc(sizeof(*p), GFP_KERNEL);
+	if (!p)
+		return;
+
+	p->name = "Video RAM area";
+	p->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
+
+	region.start = 0xa0000UL;
+	region.end = region.start + 0x1ffffUL;
+	pcibios_bus_to_resource(dev->bus, p, &region);
+
+	root = pci_find_parent_resource(dev, p);
+	if (!root) {
+		pci_info(dev, "can't claim VGA legacy %pR: no compatible bridge window\n", p);
+		goto err;
+	}
+
+	pci_info(dev, "requesting %pR from %s %pR\n", p, root->name, root);
+	conflict = request_resource_conflict(root, p);
+	if (conflict) {
+		pci_info(dev, "can't claim VGA legacy %pR: address conflict with %s %pR\n",
+			 p, conflict->name, conflict);
+		goto err;
+	}
+
+	return;
+
+err:
+	kfree(p);
+}
+
 static void pci_claim_bus_resources(struct pci_bus *bus)
 {
 	struct pci_bus *child_bus;
@@ -648,6 +693,8 @@ static void pci_claim_bus_resources(struct pci_bus *bus)
 
 			pci_claim_resource(dev, i);
 		}
+
+		pci_claim_legacy_resources(dev);
 	}
 
 	list_for_each_entry(child_bus, &bus->children, node)
@@ -687,6 +734,7 @@ struct pci_bus *pci_scan_one_pbm(struct pci_pbm_info *pbm,
 	pci_bus_register_of_sysfs(bus);
 
 	pci_claim_bus_resources(bus);
+
 	pci_bus_add_devices(bus);
 	return bus;
 }
diff --git a/arch/sparc/kernel/pci_common.c b/arch/sparc/kernel/pci_common.c
index 38d46bcc8634..9bb6a192ef3f 100644
--- a/arch/sparc/kernel/pci_common.c
+++ b/arch/sparc/kernel/pci_common.c
@@ -329,23 +329,6 @@ void pci_get_pbm_props(struct pci_pbm_info *pbm)
 	}
 }
 
-static void pci_register_legacy_regions(struct resource *io_res,
-					struct resource *mem_res)
-{
-	struct resource *p;
-
-	/* VGA Video RAM. */
-	p = kzalloc(sizeof(*p), GFP_KERNEL);
-	if (!p)
-		return;
-
-	p->name = "Video RAM area";
-	p->start = mem_res->start + 0xa0000UL;
-	p->end = p->start + 0x1ffffUL;
-	p->flags = IORESOURCE_BUSY;
-	request_resource(mem_res, p);
-}
-
 static void pci_register_iommu_region(struct pci_pbm_info *pbm)
 {
 	const u32 *vdma = of_get_property(pbm->op->dev.of_node, "virtual-dma",
@@ -487,8 +470,6 @@ void pci_determine_mem_io_space(struct pci_pbm_info *pbm)
 	if (pbm->mem64_space.flags)
 		request_resource(&iomem_resource, &pbm->mem64_space);
 
-	pci_register_legacy_regions(&pbm->io_space,
-				    &pbm->mem_space);
 	pci_register_iommu_region(pbm);
 }
 
diff --git a/drivers/gpu/vga/vgaarb.c b/drivers/gpu/vga/vgaarb.c
index 1c5e74cb9279..147f8d205fdc 100644
--- a/drivers/gpu/vga/vgaarb.c
+++ b/drivers/gpu/vga/vgaarb.c
@@ -643,6 +643,7 @@ static bool vga_arbiter_add_pci_device(struct pci_dev *pdev)
 	 * clear that below if the bridge isn't forwarding
 	 */
 	pci_read_config_word(pdev, PCI_COMMAND, &cmd);
+	vgaarb_info(&pdev->dev, "command %#06x\n", cmd);
 	if (cmd & PCI_COMMAND_IO)
 		vgadev->owns |= VGA_RSRC_LEGACY_IO;
 	if (cmd & PCI_COMMAND_MEMORY)
@@ -1469,7 +1470,7 @@ static void __init vga_arb_select_default_device(void)
 						  struct vga_device, list);
 		if (vgadev) {
 			struct device *dev = &vgadev->pdev->dev;
-			vgaarb_info(dev, "setting as boot device (VGA legacy resources not available)\n");
+			vgaarb_info(dev, "setting as boot device (VGA legacy resources not enabled)\n");
 			vga_set_default_device(vgadev->pdev);
 		}
 	}

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-11 20:01               ` Bjorn Helgaas
@ 2018-04-11 20:25                 ` Meelis Roos
  -1 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-11 20:25 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> Thanks, this is really interesting.  Would you mind replacing the test
> patch with the following (this applies directly on the upstream
> kernel, e.g., fd3b36d27566)?
> 
> Sorry for the back and forth, but there's a lot going on here that I
> don't understand.  
> 
> I'd like to see the complete dmesg log, /proc/iomem, and "lspci -vv".

00000000-7effdfff : System RAM
  00404000-0085ab9f : Kernel code
  0085aba0-009b8a8f : Kernel data
  009f2000-00a37a37 : Kernel bss
7f000000-7fee5fff : System RAM
7ff04000-7ff0bfff : System RAM
1ff00000000-1ffffffffff : /pci@1f,0
  1ff00000000-1ff000fffff : 0000:00:07.0
  1ff00400000-1ff0041ffff : 0000:00:0c.1
    1ff00400000-1ff0041ffff : sungem
  1ff00420000-1ff00421fff : 0000:00:0c.2
  1ff00422000-1ff00423fff : 0000:00:0c.2
  1ff00424000-1ff00425fff : 0000:00:08.0
  1ff00426000-1ff00427fff : 0000:00:13.0
  1ff00440000-1ff0045ffff : 0000:00:13.0
  1ff00800000-1ff00bfffff : 0000:00:0c.1
  1ff00c00000-1ff00ffffff : 0000:00:0c.2
  1ff01000000-1ff013fffff : 0000:00:0c.3
  1ff02000000-1ff02ffffff : 0000:00:0c.3
    1ff02000000-1ff02ffffff : ohci_hcd
  1ff03000000-1ff030fffff : PCI Bus 0000:01
    1ff03000000-1ff03001fff : 0000:01:00.0
      1ff03000000-1ff03001fff : sym53c8xx
    1ff03002000-1ff03003fff : 0000:01:02.0
    1ff03010000-1ff0301ffff : 0000:01:02.0
  1ff04000000-1ff04ffffff : 0000:00:13.0
    1ff04000000-1ff04ffffff : atyfb
  1ffc0000000-1ffdfffffff : IOMMU
  1fff1000000-1fff1001fff : eeprom


00:03.0 Non-VGA unclassified device: ULi Electronics Inc. M7101 Power Management Controller [PMU]
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Region 0: [virtual] I/O ports at <unassigned> [size=16]
	Kernel driver in use: ali1535_smbus
00: b9 10 01 71 00 00 00 02 00 00 00 00 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40: 00 00 00 00 00 00 20 00 08 18 08 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 01
70: 0f 11 00 00 00 00 00 08 00 00 00 00 00 00 00 00
80: 00 00 10 10 00 00 00 00 01 04 00 00 00 00 00 00
90: 00 00 02 00 00 00 00 0f 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 40 40 01 00 00 02 00 60 04 01 03 00 00 00 30
c0: 00 10 ff 00 00 00 00 00 01 00 00 00 00 00 00 00
d0: ff 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 08 00 06 01 00 01 00 00 00 00 00 00 00 00 00
f0: 45 00 20 7e 00 00 00 00 00 00 00 00 00 00 00 00

00:05.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev 03) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64, Cache Line Size: 64 bytes
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 00001000-00001fff
	Memory behind bridge: 03000000-030fffff
	Prefetchable memory behind bridge: fffffffffff00000-00000000000fffff
	Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=220mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
		Bridge: PM- B3+
00: 11 10 24 00 07 00 90 02 03 00 04 06 10 40 01 00
10: 00 00 00 00 00 00 00 00 00 01 01 00 11 11 80 02
20: 00 03 00 03 f1 ff 01 00 ff ff ff ff 00 00 00 00
30: 00 00 00 00 dc 00 00 00 00 00 00 00 00 00 00 00
40: 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 3e 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 01
e0: 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:07.0 ISA bridge: ULi Electronics Inc. M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+]
	Subsystem: ULi Electronics Inc. ALi M1533 Aladdin IV/V ISA Bridge
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Region 0: [virtual] I/O ports at 1fe02000000 [size=64K]
	Region 1: Memory at <unassigned> (32-bit, non-prefetchable) [size=1M]
	Capabilities: [a0] Power Management version 1
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00: b9 10 33 15 0f 00 10 02 00 00 01 06 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 b9 10 33 15
30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00
40: 11 13 49 80 83 09 00 07 00 00 00 10 00 00 fd 01
50: 00 00 00 40 00 07 02 00 6e 03 09 00 00 00 00 08
60: 00 00 00 00 00 00 00 00 00 00 00 00 80 20 00 00
70: 00 00 06 00 41 03 00 d3 04 02 00 02 00 00 01 10
80: 07 00 33 01 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:08.0 Multimedia audio controller: ULi Electronics Inc. M5451 PCI AC-Link Controller Audio Device (rev 01)
	Subsystem: ULi Electronics Inc. M5451 PCI AC-Link Controller Audio Device
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 14
	Region 0: I/O ports at 0900 [disabled] [size=256]
	Region 1: Memory at 00424000 (32-bit, non-prefetchable) [disabled] [size=8K]
	Capabilities: [dc] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2+,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00: b9 10 51 54 00 00 90 02 01 00 01 04 00 40 00 00
10: 01 09 00 00 00 40 42 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 b9 10 51 54
30: 00 00 00 00 dc 00 00 00 00 00 00 00 00 01 02 18
40: 00 00 00 00 00 04 00 e2 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 22 e6
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0c.0 Bridge: Oracle/SUN RIO EBUS (rev 01)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (2500ns min, 6250ns max), Cache Line Size: 64 bytes
	BIST result: 00
	Region 0: Memory at <ignored> (32-bit, non-prefetchable)
	Region 1: Memory at <ignored> (32-bit, non-prefetchable)
00: 8e 10 00 11 46 01 80 02 01 00 80 06 10 40 80 80
10: 00 00 00 f0 00 00 00 f1 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 19
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0c.1 Ethernet controller: Oracle/SUN RIO 10/100 Ethernet [eri] (rev 01)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (2500ns min, 1250ns max), Cache Line Size: 64 bytes
	Interrupt: pin ? routed to IRQ 11
	BIST result: 00
	Region 0: Memory at 00400000 (32-bit, non-prefetchable) [size=128K]
	Expansion ROM at 00800000 [disabled] [size=4M]
	Kernel driver in use: gem
00: 8e 10 01 11 06 00 80 02 01 00 00 02 10 40 80 80
10: 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 80 00 00 00 00 00 00 00 00 00 00 00 0a 05
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0c.2 FireWire (IEEE 1394): Oracle/SUN RIO 1394 (rev 01) (prog-if 10 [OHCI])
	Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin ? routed to IRQ 12
	BIST result: 00
	Region 0: Memory at 00420000 (32-bit, non-prefetchable) [size=8K]
	Region 1: Memory at 00422000 (32-bit, non-prefetchable) [size=8K]
	Expansion ROM at 00c00000 [disabled] [size=4M]
00: 8e 10 02 11 02 00 80 02 01 10 00 0c 10 40 80 80
10: 00 00 42 00 00 20 42 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 0a 05
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0c.3 USB controller: Oracle/SUN RIO USB (rev 01) (prog-if 10 [OHCI])
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (2500ns min, 1250ns max), Cache Line Size: 64 bytes
	Interrupt: pin ? routed to IRQ 13
	BIST result: 00
	Region 0: Memory at 02000000 (32-bit, non-prefetchable) [size=16M]
	Expansion ROM at 01000000 [disabled] [size=4M]
	Kernel driver in use: ohci-pci
00: 8e 10 03 11 06 00 80 02 01 10 03 0c 10 40 80 80
10: 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 0a 05
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0d.0 IDE interface: ULi Electronics Inc. M5229 IDE (rev c3) (prog-if ff)
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (500ns min, 1000ns max)
	Interrupt: pin A routed to IRQ 15
	Region 0: I/O ports at 0a00 [size=8]
	Region 1: I/O ports at 0a18 [size=8]
	Region 2: I/O ports at 0a10 [size=8]
	Region 3: I/O ports at 0a08 [size=8]
	Region 4: I/O ports at 0a20 [size=16]
	Capabilities: [60] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: pata_ali
00: b9 10 29 52 05 00 90 02 c3 ff 01 01 00 40 00 00
10: 01 0a 00 00 19 0a 00 00 11 0a 00 00 09 0a 00 00
20: 21 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 60 00 00 00 00 00 00 00 00 01 02 04
40: 06 00 00 7f 00 00 00 00 00 02 20 c9 00 80 ba 1a
50: 03 00 00 81 08 00 a8 00 01 31 31 31 03 09 0a 0a
60: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 21 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:13.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Rage XL PCI (rev 27) (prog-if 00 [VGA controller])
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 19
	Region 0: Memory at 04000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: I/O ports at 0b00 [size=256]
	Region 2: Memory at 00426000 (32-bit, non-prefetchable) [size=8K]
	Expansion ROM at 00440000 [disabled] [size=128K]
	Capabilities: [5c] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: atyfb
00: 02 10 52 47 83 00 90 02 27 00 00 03 10 40 00 00
10: 00 00 00 04 01 0b 00 00 00 60 42 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 44 00 5c 00 00 00 00 00 00 00 f1 01 08 00
40: 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 02 5c 10 00 01 00 00 ff 00 00 00 00 01 00 02 06
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

01:00.0 SCSI storage controller: LSI Logic / Symbios Logic 53c810 (rev 12)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (2000ns min, 16000ns max), Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 16
	Region 0: I/O ports at 1000 [size=256]
	Region 1: Memory at 03000000 (32-bit, non-prefetchable) [size=8K]
	Kernel driver in use: sym53c8xx
00: 00 10 01 00 17 00 00 02 12 00 00 01 10 40 00 00
10: 01 10 00 00 00 00 00 03 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 01 08 40
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: da 00 00 03 47 00 06 1f 00 08 00 00 80 00 00 02
90: ff e0 dc c1 00 ff ff ff 00 f0 31 21 a0 13 dd c1
a0: 00 08 00 01 00 00 00 50 c0 13 dd c1 c0 13 dd c1
b0: 00 10 dd c1 38 f0 dc c1 ce 6d 00 a1 c0 23 ba c1
c0: 8f 05 00 00 00 05 40 0f 0c 00 80 0f 07 00 02 80
d0: 00 00 02 80 00 00 02 80 00 00 02 80 00 01 ff 40
e0: 00 01 ff 40 00 01 ff 40 00 01 ff 40 00 01 ff 40
f0: 00 01 ff 40 00 01 ff 40 00 01 ff 40 00 01 ff 40

01:01.0 Multimedia audio controller: C-Media Electronics Inc CMI8738/CMI8768 PCI Audio (rev 10)
	Subsystem: C-Media Electronics Inc CMI8738/C3DX PCI Audio Device
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 17
	Region 0: I/O ports at 1100 [disabled] [size=256]
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00: f6 13 11 01 00 00 10 02 10 00 01 04 00 40 00 00
10: 01 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 f6 13 11 01
30: 00 00 00 00 c0 00 00 00 00 00 00 00 ff 01 02 18
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

01:02.0 Multimedia audio controller: Cirrus Logic Crystal CS4281 PCI Audio (rev 01)
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 18
	Region 0: Memory at 03002000 (32-bit, non-prefetchable) [disabled] [size=8K]
	Region 1: Memory at 03010000 (32-bit, non-prefetchable) [disabled] [size=64K]
	Capabilities: [40] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00: 13 10 05 60 00 00 10 02 01 00 01 04 00 40 00 00
10: 00 20 00 03 00 00 01 03 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 00 01 04 18
40: 01 00 22 7e 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00
f0: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


[    0.000059] PROMLIB: Sun IEEE Boot Prom 'OBP 4.17.1 2005/04/11 14:31'
[    0.000116] PROMLIB: Root node compatible: 
[    0.000217] Linux version 4.16.0-11316-gf77cfbe-dirty (mroos@blade100) (gcc version 4.9.3 (Debian 4.9.3-2)) #168 Wed Apr 11 23:14:41 EEST 2018
[    0.280335] bootconsole [earlyprom0] enabled
[    0.331447] ARCH: SUN4U
[    0.360724] Ethernet address: 00:03:ba:0b:7d:5d
[    0.414898] MM: PAGE_OFFSET is 0xfffff80000000000 (max_phys_bits == 40)
[    0.494057] MM: VMALLOC [0x0000000100000000 --> 0x0000060000000000]
[    0.568973] MM: VMEMMAP [0x0000060000000000 --> 0x00000c0000000000]
[    0.720460] Kernel: Using 2 locked TLB entries for main kernel image.
[    0.797625] Remapping the kernel... 
[    0.798175] done.
[    1.201703] OF stdout device is: /pci@1f,0/isa@7/serial@0,3f8
[    1.270449] PROM: Built device tree with 90708 bytes of memory.
[    1.341590] Top of RAM: 0x7ff0c000, Total RAM: 0x7feec000
[    1.406150] Memory hole size: 0MB
[    1.979239] Allocated 16384 bytes for kernel page tables.
[    2.044448] Zone ranges:
[    2.074793]   Normal   [mem 0x0000000000000000-0x000000007ff0bfff]
[    2.148765] Movable zone start for each node
[    2.199783] Early memory node ranges
[    2.242493]   node   0: [mem 0x0000000000000000-0x000000007effdfff]
[    2.317409]   node   0: [mem 0x000000007f000000-0x000000007fee5fff]
[    2.392326]   node   0: [mem 0x000000007ff04000-0x000000007ff0bfff]
[    2.467248] Initmem setup node 0 [mem 0x0000000000000000-0x000000007ff0bfff]
[    2.551514] On node 0 totalpages: 262006
[    2.551525]   Normal zone: 2048 pages used for memmap
[    2.551530]   Normal zone: 0 pages reserved
[    2.551539]   Normal zone: 262006 pages, LIFO batch:15
[    2.653830] Booting Linux...
[    2.688370] CPU CAPS: [flush,stbar,swap,muldiv,v9,mul32,div32,v8plus]
[    2.765450] CPU CAPS: [vis]
[    2.804900] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    2.804913] pcpu-alloc: [0] 0 
[    2.807648] Built 1 zonelists, mobility grouping on.  Total pages: 259958
[    2.888901] Kernel command line: root=/dev/sda2 ro console=ttyS0
[    2.974322] Dentry cache hash table entries: 262144 (order: 8, 2097152 bytes)
[    3.066836] Inode-cache hash table entries: 131072 (order: 7, 1048576 bytes)
[    3.151270] Sorting __ex_table...
[    3.346086] Memory: 2069760K/2096048K available (4442K kernel code, 298K rwdata, 1096K rodata, 200K init, 278K bss, 26288K reserved, 0K cma-reserved)
[    3.506677] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    3.585528] NR_IRQS: 2048, nr_irqs: 2048, preallocated irqs: 1
[    3.655545] clocksource: hbtick: mask: 0xffffffffffffffff max_cycles: 0x148020aa9, max_idle_ns: 440795202069 ns
[    3.776260] clocksource: mult[b400012e] shift[24]
[    3.832470] clockevent: mult[16c16bf] shift[32]
[    3.886908] Console: colour dummy device 80x25
[    4.090118] Calibrating delay using timer specific routine.. 11.12 BogoMIPS (lpj=55648)
[    4.185866] pid_max: default: 32768 minimum: 301
[    4.241727] Mount-cache hash table entries: 4096 (order: 2, 32768 bytes)
[    4.321958] Mountpoint-cache hash table entries: 4096 (order: 2, 32768 bytes)
[    4.411687] devtmpfs: initialized
[    4.456082] random: get_random_u32 called from bucket_table_alloc+0x78/0x1e0 with crng_init=0
[    4.558763] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    4.676445] futex hash table entries: 256 (order: -1, 6144 bytes)
[    4.750134] NET: Registered protocol family 16
[    4.812677] IRQ pre handler NOT supported.
[    4.862096] IRQ pre handler NOT supported.
[    4.911395] IRQ pre handler NOT supported.
[    4.961961] audit: initializing netlink subsys (disabled)
[    5.033921] kworker/u2:0 (40) used greatest stack depth: 10304 bytes left
[    5.115934] random: fast init done
[    5.169855] /pci@1f,0: PCI IO [io  0x1fe02000000-0x1fe02ffffff] offset 1fe02000000
[    5.260566] /pci@1f,0: PCI MEM [mem 0x1ff00000000-0x1ffffffffff] offset 1ff00000000
[    5.352239] /pci@1f,0: SABRE PCI Bus Module ver[0:0]
[    5.411653] PCI: Scanning PBM /pci@1f,0
[    5.457965] sabre f005f408: PCI host bridge to bus 0000:00
[    5.523589] pci_bus 0000:00: root bus resource [io  0x1fe02000000-0x1fe02ffffff] (bus address [0x0000-0xffffff])
[    5.645351] pci_bus 0000:00: root bus resource [mem 0x1ff00000000-0x1ffffffffff] (bus address [0x00000000-0xffffffff])
[    5.773361] pci_bus 0000:00: root bus resource [bus 00-01]
[    5.839024] PCI: scan_bus[/pci@1f,0] bus no 0
[    5.891179]   * /pci@1f,0/ebus@c
[    5.929908]     create device, devfn: 60, type: 
[    5.985145]     class: 0x68000 device name: 0000:00:0c.0
[    6.048714] pci 0000:00:0c.0: [108e:1100] type 00 class 0x068000
[    6.120606]     adding to system ...
[    6.163761] PCI: dev header type: 0
[    6.205506]   * /pci@1f,0/isa@7
[    6.243152]     create device, devfn: 38, type: 
[    6.298419]     class: 0x60100 device name: 0000:00:07.0
[    6.361991] pci 0000:00:07.0: [10b9:1533] type 00 class 0x060100
[    6.433890]     parse addresses (40 bytes) @         (ptrval)
[    6.502673]   start: 1fe02000000, end: 1fe0200ffff, i: 10
[    6.567309] pci 0000:00:07.0: reg 0x10: [io  0x1fe02000000-0x1fe0200ffff]
[    6.648557]   start: 1ff00000000, end: 1ff000fffff, i: 14
[    6.713192] pci 0000:00:07.0: reg 0x14: [mem 0x1ff00000000-0x1ff000fffff]
[    6.794436]     adding to system ...
[    6.837517] PCI: dev header type: 0
[    6.879234]   * /pci@1f,0/pmu@3
[    6.916881]     create device, devfn: 18, type: 
[    6.972141]     class: 0x0 device name: 0000:00:03.0
[    7.031563] pci 0000:00:03.0: [10b9:7101] type 00 class 0x000000
[    7.103460]     parse addresses (20 bytes) @         (ptrval)
[    7.172245]   start: 1fe02000000, end: 1fe0200000f, i: 10
[    7.236882] pci 0000:00:03.0: reg 0x10: [io  0x1fe02000000-0x1fe0200000f]
[    7.318126]     adding to system ...
[    7.360970] pci 0000:00:03.0: quirk: [io  0x1fe02000800-0x1fe0200083f] claimed by ali7101 ACPI
[    7.464025] pci 0000:00:03.0: quirk: [io  0x1fe02000600-0x1fe0200061f] claimed by ali7101 SMB
[    7.566080] pci 0000:00:03.0: quirk_ali7101_acpi+0x0/0x40 took 19531 usecs
[    7.648616] PCI: dev header type: 0
[    7.690327]   * /pci@1f,0/network@c,1
[    7.734236]     create device, devfn: 61, type: network
[    7.796750]     class: 0x20000 device name: 0000:00:0c.1
[    7.860324] pci 0000:00:0c.1: [108e:1101] type 00 class 0x020000
[    7.932219]     parse addresses (40 bytes) @         (ptrval)
[    8.001003]   start: 1ff00400000, end: 1ff0041ffff, i: 10
[    8.065640] pci 0000:00:0c.1: reg 0x10: [mem 0x1ff00400000-0x1ff0041ffff]
[    8.146887]   start: 1ff00800000, end: 1ff00bfffff, i: 30
[    8.211522] pci 0000:00:0c.1: reg 0x30: [mem 0x1ff00800000-0x1ff00bfffff]
[    8.292769]     adding to system ...
[    8.335825] PCI: dev header type: 0
[    8.377569]   * /pci@1f,0/firewire@c,2
[    8.422489]     create device, devfn: 62, type: 
[    8.477747]     class: 0xc0010 device name: 0000:00:0c.2
[    8.541326] pci 0000:00:0c.2: [108e:1102] type 00 class 0x0c0010
[    8.613221]     parse addresses (60 bytes) @         (ptrval)
[    8.682007]   start: 1ff00420000, end: 1ff00421fff, i: 10
[    8.746642] pci 0000:00:0c.2: reg 0x10: [mem 0x1ff00420000-0x1ff00421fff]
[    8.827891]   start: 1ff00422000, end: 1ff00423fff, i: 14
[    8.892525] pci 0000:00:0c.2: reg 0x14: [mem 0x1ff00422000-0x1ff00423fff]
[    8.973775]   start: 1ff00c00000, end: 1ff00ffffff, i: 30
[    9.038411] pci 0000:00:0c.2: reg 0x30: [mem 0x1ff00c00000-0x1ff00ffffff]
[    9.119656]     adding to system ...
[    9.162736] PCI: dev header type: 0
[    9.204457]   * /pci@1f,0/usb@c,3
[    9.244184]     create device, devfn: 63, type: 
[    9.299439]     class: 0xc0310 device name: 0000:00:0c.3
[    9.363017] pci 0000:00:0c.3: [108e:1103] type 00 class 0x0c0310
[    9.434913]     parse addresses (40 bytes) @         (ptrval)
[    9.503701]   start: 1ff02000000, end: 1ff02ffffff, i: 10
[    9.568334] pci 0000:00:0c.3: reg 0x10: [mem 0x1ff02000000-0x1ff02ffffff]
[    9.649582]   start: 1ff01000000, end: 1ff013fffff, i: 30
[    9.714218] pci 0000:00:0c.3: reg 0x30: [mem 0x1ff01000000-0x1ff013fffff]
[    9.795464]     adding to system ...
[    9.838518] PCI: dev header type: 0
[    9.880258]   * /pci@1f,0/sound@8
[    9.919990]     create device, devfn: 40, type: 
[    9.975250]     class: 0x40100 device name: 0000:00:08.0
[   10.038823] pci 0000:00:08.0: [10b9:5451] type 00 class 0x040100
[   10.110721]     parse addresses (40 bytes) @         (ptrval)
[   10.179506]   start: 1fe02000900, end: 1fe020009ff, i: 10
[   10.244142] pci 0000:00:08.0: reg 0x10: [io  0x1fe02000900-0x1fe020009ff]
[   10.325391]   start: 1ff00424000, end: 1ff00425fff, i: 14
[   10.390026] pci 0000:00:08.0: reg 0x14: [mem 0x1ff00424000-0x1ff00425fff]
[   10.471271]     adding to system ...
[   10.514119] pci 0000:00:08.0: supports D1 D2
[   10.514131] pci 0000:00:08.0: PME# supported from D2 D3hot D3cold
[   10.514430] PCI: dev header type: 0
[   10.556172]   * /pci@1f,0/ide@d
[   10.593822]     create device, devfn: 68, type: ide
[   10.652205]     class: 0x101ff device name: 0000:00:0d.0
[   10.715780] pci 0000:00:0d.0: [10b9:5229] type 00 class 0x0101ff
[   10.787672]     parse addresses (100 bytes) @         (ptrval)
[   10.857495]   start: 1fe02000a00, end: 1fe02000a07, i: 10
[   10.922130] pci 0000:00:0d.0: reg 0x10: [io  0x1fe02000a00-0x1fe02000a07]
[   11.003380]   start: 1fe02000a18, end: 1fe02000a1f, i: 14
[   11.068016] pci 0000:00:0d.0: reg 0x14: [io  0x1fe02000a18-0x1fe02000a1f]
[   11.149264]   start: 1fe02000a10, end: 1fe02000a17, i: 18
[   11.213900] pci 0000:00:0d.0: reg 0x18: [io  0x1fe02000a10-0x1fe02000a17]
[   11.295150]   start: 1fe02000a08, end: 1fe02000a0f, i: 1c
[   11.359785] pci 0000:00:0d.0: reg 0x1c: [io  0x1fe02000a08-0x1fe02000a0f]
[   11.441033]   start: 1fe02000a20, end: 1fe02000a2f, i: 20
[   11.505669] pci 0000:00:0d.0: reg 0x20: [io  0x1fe02000a20-0x1fe02000a2f]
[   11.586915]     adding to system ...
[   11.629978] PCI: dev header type: 0
[   11.671708]   * /pci@1f,0/pci@5
[   11.709365]     create device, devfn: 28, type: pci
[   11.767742]     class: 0x60400 device name: 0000:00:05.0
[   11.831315] pci 0000:00:05.0: [1011:0024] type 01 class 0x060400
[   11.903210]     adding to system ...
[   11.946311] PCI: dev header type: 1
[   11.988001] of_scan_pci_bridge(/pci@1f,0/pci@5)
[   12.042236]     Bridge bus range [1 --> 1]
[   12.091470]     Bridge ranges[        (ptrval)] simba[0]
[   12.154985]     RAW Range[81000000:00000000:00001000:81000000:00000000:00001000:00000000:00001000]
[   12.262208]       Using flags[00000101] start[0000000000001000] size[0000000000001000]
[   12.356975]     RAW Range[82000000:00000000:03000000:82000000:00000000:03000000:00000000:00100000]
[   12.464201]       Using flags[00000200] start[0000000003000000] size[0000000000100000]
[   12.558963]     bus name: PCI Bus 0000:01
[   12.606967] PCI: scan_bus[/pci@1f,0/pci@5] bus no 1
[   12.665361]   * /pci@1f,0/pci@5/scsi@0
[   12.710304]     create device, devfn: 0, type: 
[   12.764510]     class: 0x10000 device name: 0000:01:00.0
[   12.828090] pci 0000:01:00.0: [1000:0001] type 00 class 0x010000
[   12.899985]     parse addresses (40 bytes) @         (ptrval)
[   12.968770]   start: 1fe02001000, end: 1fe020010ff, i: 10
[   13.033408] pci 0000:01:00.0: reg 0x10: [io  0x1fe02001000-0x1fe020010ff]
[   13.114655]   start: 1ff03000000, end: 1ff03001fff, i: 14
[   13.179290] pci 0000:01:00.0: reg 0x14: [mem 0x1ff03000000-0x1ff03001fff]
[   13.260537]     adding to system ...
[   13.303636] PCI: dev header type: 0
[   13.345332]   * /pci@1f,0/pci@5/sound@1
[   13.391308]     create device, devfn: 8, type: 
[   13.445520]     class: 0x40100 device name: 0000:01:01.0
[   13.509093] pci 0000:01:01.0: [13f6:0111] type 00 class 0x040100
[   13.580989]     parse addresses (20 bytes) @         (ptrval)
[   13.649773]   start: 1fe02001100, end: 1fe020011ff, i: 10
[   13.714410] pci 0000:01:01.0: reg 0x10: [io  0x1fe02001100-0x1fe020011ff]
[   13.795654]     adding to system ...
[   13.838512] pci 0000:01:01.0: supports D1 D2
[   13.838755] PCI: dev header type: 0
[   13.880452]   * /pci@1f,0/pci@5/sound@2
[   13.926429]     create device, devfn: 10, type: 
[   13.981678]     class: 0x40100 device name: 0000:01:02.0
[   14.045249] pci 0000:01:02.0: [1013:6005] type 00 class 0x040100
[   14.117146]     parse addresses (40 bytes) @         (ptrval)
[   14.185931]   start: 1ff03002000, end: 1ff03003fff, i: 10
[   14.250568] pci 0000:01:02.0: reg 0x10: [mem 0x1ff03002000-0x1ff03003fff]
[   14.331816]   start: 1ff03010000, end: 1ff0301ffff, i: 14
[   14.396450] pci 0000:01:02.0: reg 0x14: [mem 0x1ff03010000-0x1ff0301ffff]
[   14.477696]     adding to system ...
[   14.520555] pci 0000:01:02.0: supports D1 D2
[   14.520565] pci 0000:01:02.0: PME# supported from D0 D1 D2 D3hot
[   14.520870] PCI: dev header type: 0
[   14.562597]   * /pci@1f,0/SUNW,m64B@13
[   14.607528]     create device, devfn: 98, type: display
[   14.670066]     class: 0x30000 device name: 0000:00:13.0
[   14.733629] pci 0000:00:13.0: [1002:4752] type 00 class 0x030000
[   14.805526]     parse addresses (80 bytes) @         (ptrval)
[   14.874311]   start: 1ff04000000, end: 1ff04ffffff, i: 10
[   14.938947] pci 0000:00:13.0: reg 0x10: [mem 0x1ff04000000-0x1ff04ffffff]
[   15.020197]   start: 1fe02000b00, end: 1fe02000bff, i: 14
[   15.084831] pci 0000:00:13.0: reg 0x14: [io  0x1fe02000b00-0x1fe02000bff]
[   15.166080]   start: 1ff00426000, end: 1ff00427fff, i: 18
[   15.230717] pci 0000:00:13.0: reg 0x18: [mem 0x1ff00426000-0x1ff00427fff]
[   15.311966]   start: 1ff00440000, end: 1ff0045ffff, i: 30
[   15.376601] pci 0000:00:13.0: reg 0x30: [mem 0x1ff00440000-0x1ff0045ffff]
[   15.457846]     adding to system ...
[   15.500698] pci 0000:00:13.0: supports D1 D2
[   15.500959] PCI: dev header type: 0
[   15.542832] pci 0000:00:0c.0: class 0x68000
[   15.592936] PCI: Claiming 0000:00:07.0: Resource 0: 000001fe02000000..000001fe0200ffff [101]
[   15.693943] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]
[   15.856232] PCI: Claiming 0000:00:07.0: Resource 1: 000001ff00000000..000001ff000fffff [200]
[   15.957232] pci 0000:00:07.0: class 0x60100
[   16.007314] PCI: Claiming 0000:00:03.0: Resource 0: 000001fe02000000..000001fe0200000f [101]
[   16.108310] pci 0000:00:03.0: class 0x0
[   16.154234] PCI: Claiming 0000:00:0c.1: Resource 0: 000001ff00400000..000001ff0041ffff [200]
[   16.255231] PCI: Claiming 0000:00:0c.1: Resource 6: 000001ff00800000..000001ff00bfffff [44200]
[   16.358309] pci 0000:00:0c.1: class 0x20000
[   16.408389] PCI: Claiming 0000:00:0c.2: Resource 0: 000001ff00420000..000001ff00421fff [200]
[   16.509387] PCI: Claiming 0000:00:0c.2: Resource 1: 000001ff00422000..000001ff00423fff [200]
[   16.610384] PCI: Claiming 0000:00:0c.2: Resource 6: 000001ff00c00000..000001ff00ffffff [44200]
[   16.713462] pci 0000:00:0c.2: class 0xc0010
[   16.763541] PCI: Claiming 0000:00:0c.3: Resource 0: 000001ff02000000..000001ff02ffffff [200]
[   16.864540] PCI: Claiming 0000:00:0c.3: Resource 6: 000001ff01000000..000001ff013fffff [44200]
[   16.967617] pci 0000:00:0c.3: class 0xc0310
[   17.017696] PCI: Claiming 0000:00:08.0: Resource 0: 000001fe02000900..000001fe020009ff [101]
[   17.118693] PCI: Claiming 0000:00:08.0: Resource 1: 000001ff00424000..000001ff00425fff [200]
[   17.219694] pci 0000:00:08.0: class 0x40100
[   17.269774] PCI: Claiming 0000:00:0d.0: Resource 0: 000001fe02000a00..000001fe02000a07 [101]
[   17.370772] PCI: Claiming 0000:00:0d.0: Resource 1: 000001fe02000a18..000001fe02000a1f [101]
[   17.471768] PCI: Claiming 0000:00:0d.0: Resource 2: 000001fe02000a10..000001fe02000a17 [101]
[   17.572766] PCI: Claiming 0000:00:0d.0: Resource 3: 000001fe02000a08..000001fe02000a0f [101]
[   17.673762] PCI: Claiming 0000:00:0d.0: Resource 4: 000001fe02000a20..000001fe02000a2f [101]
[   17.774763] pci 0000:00:0d.0: class 0x101ff
[   17.824843] PCI: Claiming 0000:00:05.0: Resource 7: 000001fe02001000..000001fe02001fff [101]
[   17.925839] PCI: Claiming 0000:00:05.0: Resource 8: 000001ff03000000..000001ff030fffff [200]
[   18.026838] pci 0000:00:05.0: class 0x60400
[   18.076919] PCI: Claiming 0000:00:13.0: Resource 0: 000001ff04000000..000001ff04ffffff [200]
[   18.177916] PCI: Claiming 0000:00:13.0: Resource 1: 000001fe02000b00..000001fe02000bff [101]
[   18.278914] PCI: Claiming 0000:00:13.0: Resource 2: 000001ff00426000..000001ff00427fff [200]
[   18.379910] PCI: Claiming 0000:00:13.0: Resource 6: 000001ff00440000..000001ff0045ffff [44200]
[   18.482987] pci 0000:00:13.0: class 0x30000
[   18.533079] pci 0000:00:13.0: requesting [mem 0x1ff000a0000-0x1ff000bffff] from /pci@1f,0 [mem 0x1ff00000000-0x1ffffffffff]
[   18.666284] pci 0000:00:13.0: can't claim VGA legacy [mem 0x1ff000a0000-0x1ff000bffff]: address conflict with 0000:00:07.0 [mem 0x1ff00000000-0x1ff000fffff]
[   18.833774] PCI: Claiming 0000:01:00.0: Resource 0: 000001fe02001000..000001fe020010ff [101]
[   18.934771] PCI: Claiming 0000:01:00.0: Resource 1: 000001ff03000000..000001ff03001fff [200]
[   19.035769] pci 0000:01:00.0: class 0x10000
[   19.085850] PCI: Claiming 0000:01:01.0: Resource 0: 000001fe02001100..000001fe020011ff [101]
[   19.186849] pci 0000:01:01.0: class 0x40100
[   19.236931] PCI: Claiming 0000:01:02.0: Resource 0: 000001ff03002000..000001ff03003fff [200]
[   19.337928] PCI: Claiming 0000:01:02.0: Resource 1: 000001ff03010000..000001ff0301ffff [200]
[   19.438926] pci 0000:01:02.0: class 0x40100
[   19.496203] audit: type=2000 audit(0.320:1): state=initialized audit_enabled=0 res=1
[   19.622228] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[   19.702481] HugeTLB registered 8.00 MiB page size, pre-allocated 0 pages
[   19.782649] HugeTLB registered 256 MiB page size, pre-allocated 0 pages
[   19.861824] HugeTLB registered 2.00 GiB page size, pre-allocated 0 pages
[   19.945112] pci 0000:00:13.0: vgaarb: command 0x0080
[   20.004588] pci 0000:00:13.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
[   20.104590] pci 0000:00:13.0: vgaarb: bridge control possible
[   20.173340] pci 0000:00:13.0: vgaarb: setting as boot device (VGA legacy resources not enabled)
[   20.277446] vgaarb: loaded
[   20.310330] SCSI subsystem initialized
[   20.357726] libata version 3.00 loaded.
[   20.362515] /pci@1f,0/ebus@c/eeprom@1,0: Mostek regs at 0x1fff1000000
[   20.440726] clocksource: Switched to clocksource hbtick
[   20.520493] kworker/u2:2 (232) used greatest stack depth: 9104 bytes left
[   20.628364] NET: Registered protocol family 2
[   20.681769] tcp_listen_portaddr_hash hash table entries: 1024 (order: 1, 16384 bytes)
[   20.775592] TCP established hash table entries: 16384 (order: 4, 131072 bytes)
[   20.862705] TCP bind hash table entries: 16384 (order: 4, 131072 bytes)
[   20.942575] TCP: Hash tables configured (established 16384 bind 16384)
[   21.021233] UDP hash table entries: 1024 (order: 2, 32768 bytes)
[   21.093318] UDP-Lite hash table entries: 1024 (order: 2, 32768 bytes)
[   21.171152] NET: Registered protocol family 1
[   21.223437] pci 0000:00:07.0: Activating ISA DMA hang workarounds
[   21.296401] pci 0000:00:07.0: quirk_isa_dma_hangs+0x0/0x40 took 71237 usecs
[   21.379757] PCI: Enabling device: (0000:00:0c.3), cmd 2
[   21.510825] pci 0000:00:0c.3: quirk_usb_early_handoff+0x0/0x740 took 127968 usecs
[   21.600498] PCI: CLS 64 bytes, default 64
[   21.600871] power: Control reg at 1fe02000800
[   21.658494] workingset: timestamp_bits=62 max_order=18 bucket_order=0
[   21.787091] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[   21.875693] io scheduler noop registered
[   21.923116] io scheduler cfq registered (default)
[   21.979998] PCI: Enabling device: (0000:00:13.0), cmd 83
[   21.980065] atyfb: 3D RAGE XL (Mach64 GR, PCI-33) [0x4752 rev 0x27]
[   22.055139] atyfb: 8M SDRAM (1:1), 29.498928 MHz XTAL, 230 MHz PLL, 83 Mhz MCLK, 63 MHz XCLK
[   22.211443] Console: switching to colour frame buffer device 80x30
[   22.294364] atyfb: fb0: ATY Mach64 frame buffer device on PCI
[   22.366227] f007d64c: ttyS0 at MMIO 0x1fe020003f8 (irq = 9, base_baud = 115387) is a 16550A
[   22.466332] Console: ttyS0 (SU)
[   22.504011] console [ttyS0] enabled
[   22.591449] bootconsole [earlyprom0] disabled
[   22.702383] f007f1a4: ttyS1 at MMIO 0x1fe020002e8 (irq = 9, base_baud = 115387) is a 16550A
[   22.813941] PCI: Enabling device: (0000:00:0d.0), cmd 5
[   22.820467] scsi host0: pata_ali
[   22.864871] scsi host1: pata_ali
[   22.907614] ata1: PATA max UDMA/66 cmd 0x1fe02000a00 ctl 0x1fe02000a18 bmdma 0x1fe02000a20 irq 15
[   23.024268] ata2: PATA max UDMA/66 cmd 0x1fe02000a10 ctl 0x1fe02000a08 bmdma 0x1fe02000a28 irq 15
[   23.143206] mousedev: PS/2 mouse device common for all mice
[   23.219219] rtc-m48t59 rtc-m48t59.0: registered as rtc0
[   23.288749] NET: Registered protocol family 17
[   23.347160] Key type dns_resolver registered
[   23.406899] registered taskstats version 1
[   23.462916] Key type encrypted registered
[   23.516861] rtc-m48t59 rtc-m48t59.0: setting system clock to 2018-04-11 20:18:18 UTC (1523477898)
[   23.633992] ata1.00: ATA-5: ST320414A, 3.28, max UDMA/100
[   23.704921] ata1.00: 39851760 sectors, multi 0: LBA 
[   23.770211] ata1.01: ATAPI: LTN486S, Y3S2, max UDMA/33
[   23.837714] ata1.01: WARNING: ATAPI DMA disabled for reliability issues.  It can be enabled
[   23.947528] ata1.01: WARNING: via pata_ali.atapi_dma modparam or corresponding sysfs node.
[   24.060901] ata1.00: configured for UDMA/66
[   24.118364] ata1.01: configured for UDMA/33
[   24.174823] scsi 0:0:0:0: Direct-Access     ATA      ST320414A        3.28 PQ: 0 ANSI: 5
[   24.283973] sd 0:0:0:0: [sda] 39851760 512-byte logical blocks: (20.4 GB/19.0 GiB)
[   24.385464] scsi 0:0:1:0: CD-ROM            LITEON   CD-ROM LTN486S   Y3S2 PQ: 0 ANSI: 5
[   24.492621] sd 0:0:0:0: [sda] Write Protect is off
[   24.555632] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[   24.558277] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   24.686096]  sda: sda1 sda2 sda3 sda4
[   24.749770] sd 0:0:0:0: [sda] Attached SCSI disk
[   24.847810] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
[   24.948613] VFS: Mounted root (ext4 filesystem) readonly on device 8:2.
[   25.064513] devtmpfs: mounted
[   25.104639] This architecture does not have kernel memory protection.
[   26.061161] systemd[1]: systemd 215 running in system mode. (+PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR)
[   26.236661] systemd[1]: Detected architecture 'sparc64'.
[   26.671894] systemd[1]: Inserted module 'autofs4'
[   26.800339] NET: Registered protocol family 10
[   26.946140] modprobe (500) used greatest stack depth: 7200 bytes left
[   27.090050] Segment Routing with IPv6
[   27.138485] systemd[1]: Inserted module 'ipv6'
[   27.210274] systemd[1]: Set hostname to <blade100>.
[   27.970208] systemd-fstab-g (513) used greatest stack depth: 7000 bytes left
[   28.590730] systemd-sysv-ge (518) used greatest stack depth: 6680 bytes left
[   29.410697] systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory.
[   29.609766] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
[   29.711102] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[   29.810778] systemd[1]: Expecting device dev-ttyS0.device...
[   29.950980] systemd[1]: Starting Remote File Systems (Pre).
[   31.100922] systemd[1]: Listening on Journal Socket.
[   31.166388] systemd[1]: Starting System Slice.
[   31.280957] systemd[1]: Created slice System Slice.
[   31.345305] systemd[1]: Starting File System Check on Root Device...
[   31.495162] systemd[1]: Starting system-systemd\x2dfsck.slice.
[   31.651043] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[   31.736980] systemd[1]: Starting system-getty.slice.
[   31.803873] systemd[1]: Created slice system-getty.slice.
[   31.892349] systemd[1]: Starting system-serial\x2dgetty.slice.
[   31.991909] systemd[1]: Created slice system-serial\x2dgetty.slice.
[   32.781823] loop: module loaded
[   33.950896] EXT4-fs (sda2): re-mounted. Opts: errors=remount-ro
[   34.594866] systemd-udevd[858]: starting version 215
[   35.389844] /pci@1f,0/ebus@c/flashprom@0,0: OBP Flash, RD 1fff0000000[100000] WR 1fff0000000[100000]
[   35.891041] usbcore: registered new interface driver usbfs
[   35.963346] usbcore: registered new interface driver hub
[   36.033281] usbcore: registered new device driver usb
[   36.178897] PCI: Enabling device: (0000:00:03.0), cmd 1
[   36.194250] PCI: Enabling device: (0000:01:00.0), cmd 3
[   36.194997] sym0: <810a> rev 0x12 at pci 0000:01:00.0 irq 16
[   36.282598] i2c i2c-0: Error: command never completed
[   36.363542] alim7101_wdt: Steve Hill <steve@navaho.co.uk>
[   36.434571] alim7101_wdt: Detected old alim7101 revision 'a1d'.  If this is a cobalt board, set the 'use_gpio' module parameter.
[   36.671145] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   36.762362] random: crng init done
[   36.896231] i2c i2c-0: Error: command never completed
[   36.986450] sym0: No NVRAM, ID 7, Fast-10, SE, parity checking
[   37.069076] sym0: SCSI BUS has been reset.
[   37.122903] scsi host2: sym-2.2.3
[   37.190955] sr 0:0:1:0: [sr0] scsi3-mmc drive: 48x/48x cd/rw xa/form2 cdda tray
[   37.287115] cdrom: Uniform CD-ROM driver Revision: 3.20
[   37.460994] sr 0:0:1:0: Attached scsi generic sg1 type 5
[   37.615750] i2c i2c-0: Error: command never completed
[   37.694838] sr 0:0:1:0: Attached scsi CD-ROM sr0
[   37.697846] i2c i2c-0: Error: command never completed
[   37.789344] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   37.881449] i2c i2c-0: Error: command never completed
[   37.956046] i2c i2c-0: Error: command never completed
[   38.032177] i2c i2c-0: Error: command never completed
[   38.105769] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[   38.192532] i2c i2c-0: Error: command never completed
[   38.273178] i2c i2c-0: Error: command never completed
[   38.348701] i2c i2c-0: Error: command never completed
[   38.425577] i2c i2c-0: Error: command never completed
[   38.493495] ehci-pci: EHCI PCI platform driver
[   38.608019] i2c i2c-0: Error: command never completed
[   38.676301] sungem.c:v1.0 David S. Miller <davem@redhat.com>
[   38.752290] gem 0000:00:0c.1 eth0: Sun GEM (PCI) 10/100/1000BaseT Ethernet 00:03:ba:0b:7d:5d
[   38.892964] ohci-pci: OHCI PCI platform driver
[   38.951551] ohci-pci 0000:00:0c.3: OHCI PCI host controller
[   39.024840] ohci-pci 0000:00:0c.3: new USB bus registered, assigned bus number 1
[   39.122190] ohci-pci 0000:00:0c.3: irq 13, io mem 0x1ff02000000
[   39.271178] usb usb1: New USB device found, idVendor=1d6b, idProduct=0001, bcdDevice= 4.16
[   39.379924] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   39.474909] usb usb1: Product: OHCI PCI host controller
[   39.543571] usb usb1: Manufacturer: Linux 4.16.0-11316-gf77cfbe-dirty ohci_hcd
[   39.638437] usb usb1: SerialNumber: 0000:00:0c.3
[   39.709158] hub 1-0:1.0: USB hub found
[   39.759851] hub 1-0:1.0: 4 ports detected
[   39.823518] alim7101_wdt: Steve Hill <steve@navaho.co.uk>
[   39.894525] alim7101_wdt: Detected old alim7101 revision 'a1d'.  If this is a cobalt board, set the 'use_gpio' module parameter.
[   40.099630] alim7101_wdt: Steve Hill <steve@navaho.co.uk>
[   40.170645] alim7101_wdt: Detected old alim7101 revision 'a1d'.  If this is a cobalt board, set the 'use_gpio' module parameter.
[   42.770525] Adding 907664k swap on /dev/sda4.  Priority:-2 extents:1 across:907664k 
[   43.331927] EXT4-fs (sda1): mounting ext3 file system using the ext4 subsystem
[   43.461921] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[   44.086961] systemd-journald[848]: Received request to flush runtime journal from PID 1
[   45.582986] sungem_phy: PHY ID: 437421, addr: 1
[   45.583023] gem 0000:00:0c.1 eth0: Found Generic MII PHY
[   45.653493] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   45.734391] ip (1089) used greatest stack depth: 6528 bytes left
[   47.306788] systemd-udevd (871) used greatest stack depth: 5808 bytes left
[   47.412708] systemd-udevd (863) used greatest stack depth: 4592 bytes left
[   48.151054] gem 0000:00:0c.1 eth0: Link is up at 100 Mbps, full-duplex
[   48.242519] gem 0000:00:0c.1 eth0: Pause is disabled
[   48.311819] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-11 20:25                 ` Meelis Roos
  0 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-04-11 20:25 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> Thanks, this is really interesting.  Would you mind replacing the test
> patch with the following (this applies directly on the upstream
> kernel, e.g., fd3b36d27566)?
> 
> Sorry for the back and forth, but there's a lot going on here that I
> don't understand.  
> 
> I'd like to see the complete dmesg log, /proc/iomem, and "lspci -vv".

00000000-7effdfff : System RAM
  00404000-0085ab9f : Kernel code
  0085aba0-009b8a8f : Kernel data
  009f2000-00a37a37 : Kernel bss
7f000000-7fee5fff : System RAM
7ff04000-7ff0bfff : System RAM
1ff00000000-1ffffffffff : /pci@1f,0
  1ff00000000-1ff000fffff : 0000:00:07.0
  1ff00400000-1ff0041ffff : 0000:00:0c.1
    1ff00400000-1ff0041ffff : sungem
  1ff00420000-1ff00421fff : 0000:00:0c.2
  1ff00422000-1ff00423fff : 0000:00:0c.2
  1ff00424000-1ff00425fff : 0000:00:08.0
  1ff00426000-1ff00427fff : 0000:00:13.0
  1ff00440000-1ff0045ffff : 0000:00:13.0
  1ff00800000-1ff00bfffff : 0000:00:0c.1
  1ff00c00000-1ff00ffffff : 0000:00:0c.2
  1ff01000000-1ff013fffff : 0000:00:0c.3
  1ff02000000-1ff02ffffff : 0000:00:0c.3
    1ff02000000-1ff02ffffff : ohci_hcd
  1ff03000000-1ff030fffff : PCI Bus 0000:01
    1ff03000000-1ff03001fff : 0000:01:00.0
      1ff03000000-1ff03001fff : sym53c8xx
    1ff03002000-1ff03003fff : 0000:01:02.0
    1ff03010000-1ff0301ffff : 0000:01:02.0
  1ff04000000-1ff04ffffff : 0000:00:13.0
    1ff04000000-1ff04ffffff : atyfb
  1ffc0000000-1ffdfffffff : IOMMU
  1fff1000000-1fff1001fff : eeprom


00:03.0 Non-VGA unclassified device: ULi Electronics Inc. M7101 Power Management Controller [PMU]
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Region 0: [virtual] I/O ports at <unassigned> [size\x16]
	Kernel driver in use: ali1535_smbus
00: b9 10 01 71 00 00 00 02 00 00 00 00 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
40: 00 00 00 00 00 00 20 00 08 18 08 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 01
70: 0f 11 00 00 00 00 00 08 00 00 00 00 00 00 00 00
80: 00 00 10 10 00 00 00 00 01 04 00 00 00 00 00 00
90: 00 00 02 00 00 00 00 0f 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 40 40 01 00 00 02 00 60 04 01 03 00 00 00 30
c0: 00 10 ff 00 00 00 00 00 01 00 00 00 00 00 00 00
d0: ff 06 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 08 00 06 01 00 01 00 00 00 00 00 00 00 00 00
f0: 45 00 20 7e 00 00 00 00 00 00 00 00 00 00 00 00

00:05.0 PCI bridge: Digital Equipment Corporation DECchip 21152 (rev 03) (prog-if 00 [Normal decode])
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64, Cache Line Size: 64 bytes
	Bus: primary\0, secondary\x01, subordinate\x01, sec-latency=0
	I/O behind bridge: 00001000-00001fff
	Memory behind bridge: 03000000-030fffff
	Prefetchable memory behind bridge: fffffffffff00000-00000000000fffff
	Secondary status: 66MHz- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- <SERR- <PERR-
	BridgeCtl: Parity- SERR- NoISA- VGA- MAbort- >Reset- FastB2B-
		PriDiscTmr- SecDiscTmr- DiscTmrStat- DiscTmrSERREn-
	Capabilities: [dc] Power Management version 1
		Flags: PMEClk- DSI- D1- D2- AuxCurrent"0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
		Bridge: PM- B3+
00: 11 10 24 00 07 00 90 02 03 00 04 06 10 40 01 00
10: 00 00 00 00 00 00 00 00 00 01 01 00 11 11 80 02
20: 00 03 00 03 f1 ff 01 00 ff ff ff ff 00 00 00 00
30: 00 00 00 00 dc 00 00 00 00 00 00 00 00 00 00 00
40: 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 3e 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 01 01
e0: 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:07.0 ISA bridge: ULi Electronics Inc. M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+]
	Subsystem: ULi Electronics Inc. ALi M1533 Aladdin IV/V ISA Bridge
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 0
	Region 0: [virtual] I/O ports at 1fe02000000 [sizedK]
	Region 1: Memory at <unassigned> (32-bit, non-prefetchable) [size=1M]
	Capabilities: [a0] Power Management version 1
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00: b9 10 33 15 0f 00 10 02 00 00 01 06 00 00 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 b9 10 33 15
30: 00 00 00 00 a0 00 00 00 00 00 00 00 00 00 00 00
40: 11 13 49 80 83 09 00 07 00 00 00 10 00 00 fd 01
50: 00 00 00 40 00 07 02 00 6e 03 09 00 00 00 00 08
60: 00 00 00 00 00 00 00 00 00 00 00 00 80 20 00 00
70: 00 00 06 00 41 03 00 d3 04 02 00 02 00 00 01 10
80: 07 00 33 01 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:08.0 Multimedia audio controller: ULi Electronics Inc. M5451 PCI AC-Link Controller Audio Device (rev 01)
	Subsystem: ULi Electronics Inc. M5451 PCI AC-Link Controller Audio Device
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 14
	Region 0: I/O ports at 0900 [disabled] [size%6]
	Region 1: Memory at 00424000 (32-bit, non-prefetchable) [disabled] [size=8K]
	Capabilities: [dc] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2+,D3hot+,D3cold+)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00: b9 10 51 54 00 00 90 02 01 00 01 04 00 40 00 00
10: 01 09 00 00 00 40 42 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 b9 10 51 54
30: 00 00 00 00 dc 00 00 00 00 00 00 00 00 01 02 18
40: 00 00 00 00 00 04 00 e2 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 01 00 22 e6
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0c.0 Bridge: Oracle/SUN RIO EBUS (rev 01)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr+ Stepping- SERR+ FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (2500ns min, 6250ns max), Cache Line Size: 64 bytes
	BIST result: 00
	Region 0: Memory at <ignored> (32-bit, non-prefetchable)
	Region 1: Memory at <ignored> (32-bit, non-prefetchable)
00: 8e 10 00 11 46 01 80 02 01 00 80 06 10 40 80 80
10: 00 00 00 f0 00 00 00 f1 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0a 19
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0c.1 Ethernet controller: Oracle/SUN RIO 10/100 Ethernet [eri] (rev 01)
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (2500ns min, 1250ns max), Cache Line Size: 64 bytes
	Interrupt: pin ? routed to IRQ 11
	BIST result: 00
	Region 0: Memory at 00400000 (32-bit, non-prefetchable) [size\x128K]
	Expansion ROM at 00800000 [disabled] [size=4M]
	Kernel driver in use: gem
00: 8e 10 01 11 06 00 80 02 01 00 00 02 10 40 80 80
10: 00 00 40 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 80 00 00 00 00 00 00 00 00 00 00 00 0a 05
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0c.2 FireWire (IEEE 1394): Oracle/SUN RIO 1394 (rev 01) (prog-if 10 [OHCI])
	Control: I/O- Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin ? routed to IRQ 12
	BIST result: 00
	Region 0: Memory at 00420000 (32-bit, non-prefetchable) [size=8K]
	Region 1: Memory at 00422000 (32-bit, non-prefetchable) [size=8K]
	Expansion ROM at 00c00000 [disabled] [size=4M]
00: 8e 10 02 11 02 00 80 02 01 10 00 0c 10 40 80 80
10: 00 00 42 00 00 20 42 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 c0 00 00 00 00 00 00 00 00 00 00 00 0a 05
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0c.3 USB controller: Oracle/SUN RIO USB (rev 01) (prog-if 10 [OHCI])
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (2500ns min, 1250ns max), Cache Line Size: 64 bytes
	Interrupt: pin ? routed to IRQ 13
	BIST result: 00
	Region 0: Memory at 02000000 (32-bit, non-prefetchable) [size\x16M]
	Expansion ROM at 01000000 [disabled] [size=4M]
	Kernel driver in use: ohci-pci
00: 8e 10 03 11 06 00 80 02 01 10 03 0c 10 40 80 80
10: 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 01 00 00 00 00 00 00 00 00 00 00 0a 05
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:0d.0 IDE interface: ULi Electronics Inc. M5229 IDE (rev c3) (prog-if ff)
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (500ns min, 1000ns max)
	Interrupt: pin A routed to IRQ 15
	Region 0: I/O ports at 0a00 [size=8]
	Region 1: I/O ports at 0a18 [size=8]
	Region 2: I/O ports at 0a10 [size=8]
	Region 3: I/O ports at 0a08 [size=8]
	Region 4: I/O ports at 0a20 [size\x16]
	Capabilities: [60] Power Management version 2
		Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: pata_ali
00: b9 10 29 52 05 00 90 02 c3 ff 01 01 00 40 00 00
10: 01 0a 00 00 19 0a 00 00 11 0a 00 00 09 0a 00 00
20: 21 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 60 00 00 00 00 00 00 00 00 01 02 04
40: 06 00 00 7f 00 00 00 00 00 02 20 c9 00 80 ba 1a
50: 03 00 00 81 08 00 a8 00 01 31 31 31 03 09 0a 0a
60: 01 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 21 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:13.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Rage XL PCI (rev 27) (prog-if 00 [VGA controller])
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 19
	Region 0: Memory at 04000000 (32-bit, non-prefetchable) [size\x16M]
	Region 1: I/O ports at 0b00 [size%6]
	Region 2: Memory at 00426000 (32-bit, non-prefetchable) [size=8K]
	Expansion ROM at 00440000 [disabled] [size\x128K]
	Capabilities: [5c] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
	Kernel driver in use: atyfb
00: 02 10 52 47 83 00 90 02 27 00 00 03 10 40 00 00
10: 00 00 00 04 01 0b 00 00 00 60 42 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 44 00 5c 00 00 00 00 00 00 00 f1 01 08 00
40: 0c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 02 5c 10 00 01 00 00 ff 00 00 00 00 01 00 02 06
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

01:00.0 SCSI storage controller: LSI Logic / Symbios Logic 53c810 (rev 12)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV+ VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Latency: 64 (2000ns min, 16000ns max), Cache Line Size: 64 bytes
	Interrupt: pin A routed to IRQ 16
	Region 0: I/O ports at 1000 [size%6]
	Region 1: Memory at 03000000 (32-bit, non-prefetchable) [size=8K]
	Kernel driver in use: sym53c8xx
00: 00 10 01 00 17 00 00 02 12 00 00 01 10 40 00 00
10: 01 10 00 00 00 00 00 03 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 01 08 40
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: da 00 00 03 47 00 06 1f 00 08 00 00 80 00 00 02
90: ff e0 dc c1 00 ff ff ff 00 f0 31 21 a0 13 dd c1
a0: 00 08 00 01 00 00 00 50 c0 13 dd c1 c0 13 dd c1
b0: 00 10 dd c1 38 f0 dc c1 ce 6d 00 a1 c0 23 ba c1
c0: 8f 05 00 00 00 05 40 0f 0c 00 80 0f 07 00 02 80
d0: 00 00 02 80 00 00 02 80 00 00 02 80 00 01 ff 40
e0: 00 01 ff 40 00 01 ff 40 00 01 ff 40 00 01 ff 40
f0: 00 01 ff 40 00 01 ff 40 00 01 ff 40 00 01 ff 40

01:01.0 Multimedia audio controller: C-Media Electronics Inc CMI8738/CMI8768 PCI Audio (rev 10)
	Subsystem: C-Media Electronics Inc CMI8738/C3DX PCI Audio Device
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 17
	Region 0: I/O ports at 1100 [disabled] [size%6]
	Capabilities: [c0] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00: f6 13 11 01 00 00 10 02 10 00 01 04 00 40 00 00
10: 01 11 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 f6 13 11 01
30: 00 00 00 00 c0 00 00 00 00 00 00 00 ff 01 02 18
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 01 00 02 06 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

01:02.0 Multimedia audio controller: Cirrus Logic Crystal CS4281 PCI Audio (rev 01)
	Control: I/O- Mem- BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx-
	Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
	Interrupt: pin A routed to IRQ 18
	Region 0: Memory at 03002000 (32-bit, non-prefetchable) [disabled] [size=8K]
	Region 1: Memory at 03010000 (32-bit, non-prefetchable) [disabled] [sizedK]
	Capabilities: [40] Power Management version 2
		Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold-)
		Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
00: 13 10 05 60 00 00 10 02 01 00 01 04 00 40 00 00
10: 00 20 00 03 00 00 01 03 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 40 00 00 00 00 00 00 00 00 01 04 18
40: 01 00 22 7e 00 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
e0: 00 00 00 00 00 00 00 00 00 00 00 00 04 00 00 00
f0: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


[    0.000059] PROMLIB: Sun IEEE Boot Prom 'OBP 4.17.1 2005/04/11 14:31'
[    0.000116] PROMLIB: Root node compatible: 
[    0.000217] Linux version 4.16.0-11316-gf77cfbe-dirty (mroos@blade100) (gcc version 4.9.3 (Debian 4.9.3-2)) #168 Wed Apr 11 23:14:41 EEST 2018
[    0.280335] bootconsole [earlyprom0] enabled
[    0.331447] ARCH: SUN4U
[    0.360724] Ethernet address: 00:03:ba:0b:7d:5d
[    0.414898] MM: PAGE_OFFSET is 0xfffff80000000000 (max_phys_bits = 40)
[    0.494057] MM: VMALLOC [0x0000000100000000 --> 0x0000060000000000]
[    0.568973] MM: VMEMMAP [0x0000060000000000 --> 0x00000c0000000000]
[    0.720460] Kernel: Using 2 locked TLB entries for main kernel image.
[    0.797625] Remapping the kernel... 
[    0.798175] done.
[    1.201703] OF stdout device is: /pci@1f,0/isa@7/serial@0,3f8
[    1.270449] PROM: Built device tree with 90708 bytes of memory.
[    1.341590] Top of RAM: 0x7ff0c000, Total RAM: 0x7feec000
[    1.406150] Memory hole size: 0MB
[    1.979239] Allocated 16384 bytes for kernel page tables.
[    2.044448] Zone ranges:
[    2.074793]   Normal   [mem 0x0000000000000000-0x000000007ff0bfff]
[    2.148765] Movable zone start for each node
[    2.199783] Early memory node ranges
[    2.242493]   node   0: [mem 0x0000000000000000-0x000000007effdfff]
[    2.317409]   node   0: [mem 0x000000007f000000-0x000000007fee5fff]
[    2.392326]   node   0: [mem 0x000000007ff04000-0x000000007ff0bfff]
[    2.467248] Initmem setup node 0 [mem 0x0000000000000000-0x000000007ff0bfff]
[    2.551514] On node 0 totalpages: 262006
[    2.551525]   Normal zone: 2048 pages used for memmap
[    2.551530]   Normal zone: 0 pages reserved
[    2.551539]   Normal zone: 262006 pages, LIFO batch:15
[    2.653830] Booting Linux...
[    2.688370] CPU CAPS: [flush,stbar,swap,muldiv,v9,mul32,div32,v8plus]
[    2.765450] CPU CAPS: [vis]
[    2.804900] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
[    2.804913] pcpu-alloc: [0] 0 
[    2.807648] Built 1 zonelists, mobility grouping on.  Total pages: 259958
[    2.888901] Kernel command line: root=/dev/sda2 ro console=ttyS0
[    2.974322] Dentry cache hash table entries: 262144 (order: 8, 2097152 bytes)
[    3.066836] Inode-cache hash table entries: 131072 (order: 7, 1048576 bytes)
[    3.151270] Sorting __ex_table...
[    3.346086] Memory: 2069760K/2096048K available (4442K kernel code, 298K rwdata, 1096K rodata, 200K init, 278K bss, 26288K reserved, 0K cma-reserved)
[    3.506677] SLUB: HWalign2, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
[    3.585528] NR_IRQS: 2048, nr_irqs: 2048, preallocated irqs: 1
[    3.655545] clocksource: hbtick: mask: 0xffffffffffffffff max_cycles: 0x148020aa9, max_idle_ns: 440795202069 ns
[    3.776260] clocksource: mult[b400012e] shift[24]
[    3.832470] clockevent: mult[16c16bf] shift[32]
[    3.886908] Console: colour dummy device 80x25
[    4.090118] Calibrating delay using timer specific routine.. 11.12 BogoMIPS (lpjU648)
[    4.185866] pid_max: default: 32768 minimum: 301
[    4.241727] Mount-cache hash table entries: 4096 (order: 2, 32768 bytes)
[    4.321958] Mountpoint-cache hash table entries: 4096 (order: 2, 32768 bytes)
[    4.411687] devtmpfs: initialized
[    4.456082] random: get_random_u32 called from bucket_table_alloc+0x78/0x1e0 with crng_init=0
[    4.558763] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
[    4.676445] futex hash table entries: 256 (order: -1, 6144 bytes)
[    4.750134] NET: Registered protocol family 16
[    4.812677] IRQ pre handler NOT supported.
[    4.862096] IRQ pre handler NOT supported.
[    4.911395] IRQ pre handler NOT supported.
[    4.961961] audit: initializing netlink subsys (disabled)
[    5.033921] kworker/u2:0 (40) used greatest stack depth: 10304 bytes left
[    5.115934] random: fast init done
[    5.169855] /pci@1f,0: PCI IO [io  0x1fe02000000-0x1fe02ffffff] offset 1fe02000000
[    5.260566] /pci@1f,0: PCI MEM [mem 0x1ff00000000-0x1ffffffffff] offset 1ff00000000
[    5.352239] /pci@1f,0: SABRE PCI Bus Module ver[0:0]
[    5.411653] PCI: Scanning PBM /pci@1f,0
[    5.457965] sabre f005f408: PCI host bridge to bus 0000:00
[    5.523589] pci_bus 0000:00: root bus resource [io  0x1fe02000000-0x1fe02ffffff] (bus address [0x0000-0xffffff])
[    5.645351] pci_bus 0000:00: root bus resource [mem 0x1ff00000000-0x1ffffffffff] (bus address [0x00000000-0xffffffff])
[    5.773361] pci_bus 0000:00: root bus resource [bus 00-01]
[    5.839024] PCI: scan_bus[/pci@1f,0] bus no 0
[    5.891179]   * /pci@1f,0/ebus@c
[    5.929908]     create device, devfn: 60, type: 
[    5.985145]     class: 0x68000 device name: 0000:00:0c.0
[    6.048714] pci 0000:00:0c.0: [108e:1100] type 00 class 0x068000
[    6.120606]     adding to system ...
[    6.163761] PCI: dev header type: 0
[    6.205506]   * /pci@1f,0/isa@7
[    6.243152]     create device, devfn: 38, type: 
[    6.298419]     class: 0x60100 device name: 0000:00:07.0
[    6.361991] pci 0000:00:07.0: [10b9:1533] type 00 class 0x060100
[    6.433890]     parse addresses (40 bytes) @         (ptrval)
[    6.502673]   start: 1fe02000000, end: 1fe0200ffff, i: 10
[    6.567309] pci 0000:00:07.0: reg 0x10: [io  0x1fe02000000-0x1fe0200ffff]
[    6.648557]   start: 1ff00000000, end: 1ff000fffff, i: 14
[    6.713192] pci 0000:00:07.0: reg 0x14: [mem 0x1ff00000000-0x1ff000fffff]
[    6.794436]     adding to system ...
[    6.837517] PCI: dev header type: 0
[    6.879234]   * /pci@1f,0/pmu@3
[    6.916881]     create device, devfn: 18, type: 
[    6.972141]     class: 0x0 device name: 0000:00:03.0
[    7.031563] pci 0000:00:03.0: [10b9:7101] type 00 class 0x000000
[    7.103460]     parse addresses (20 bytes) @         (ptrval)
[    7.172245]   start: 1fe02000000, end: 1fe0200000f, i: 10
[    7.236882] pci 0000:00:03.0: reg 0x10: [io  0x1fe02000000-0x1fe0200000f]
[    7.318126]     adding to system ...
[    7.360970] pci 0000:00:03.0: quirk: [io  0x1fe02000800-0x1fe0200083f] claimed by ali7101 ACPI
[    7.464025] pci 0000:00:03.0: quirk: [io  0x1fe02000600-0x1fe0200061f] claimed by ali7101 SMB
[    7.566080] pci 0000:00:03.0: quirk_ali7101_acpi+0x0/0x40 took 19531 usecs
[    7.648616] PCI: dev header type: 0
[    7.690327]   * /pci@1f,0/network@c,1
[    7.734236]     create device, devfn: 61, type: network
[    7.796750]     class: 0x20000 device name: 0000:00:0c.1
[    7.860324] pci 0000:00:0c.1: [108e:1101] type 00 class 0x020000
[    7.932219]     parse addresses (40 bytes) @         (ptrval)
[    8.001003]   start: 1ff00400000, end: 1ff0041ffff, i: 10
[    8.065640] pci 0000:00:0c.1: reg 0x10: [mem 0x1ff00400000-0x1ff0041ffff]
[    8.146887]   start: 1ff00800000, end: 1ff00bfffff, i: 30
[    8.211522] pci 0000:00:0c.1: reg 0x30: [mem 0x1ff00800000-0x1ff00bfffff]
[    8.292769]     adding to system ...
[    8.335825] PCI: dev header type: 0
[    8.377569]   * /pci@1f,0/firewire@c,2
[    8.422489]     create device, devfn: 62, type: 
[    8.477747]     class: 0xc0010 device name: 0000:00:0c.2
[    8.541326] pci 0000:00:0c.2: [108e:1102] type 00 class 0x0c0010
[    8.613221]     parse addresses (60 bytes) @         (ptrval)
[    8.682007]   start: 1ff00420000, end: 1ff00421fff, i: 10
[    8.746642] pci 0000:00:0c.2: reg 0x10: [mem 0x1ff00420000-0x1ff00421fff]
[    8.827891]   start: 1ff00422000, end: 1ff00423fff, i: 14
[    8.892525] pci 0000:00:0c.2: reg 0x14: [mem 0x1ff00422000-0x1ff00423fff]
[    8.973775]   start: 1ff00c00000, end: 1ff00ffffff, i: 30
[    9.038411] pci 0000:00:0c.2: reg 0x30: [mem 0x1ff00c00000-0x1ff00ffffff]
[    9.119656]     adding to system ...
[    9.162736] PCI: dev header type: 0
[    9.204457]   * /pci@1f,0/usb@c,3
[    9.244184]     create device, devfn: 63, type: 
[    9.299439]     class: 0xc0310 device name: 0000:00:0c.3
[    9.363017] pci 0000:00:0c.3: [108e:1103] type 00 class 0x0c0310
[    9.434913]     parse addresses (40 bytes) @         (ptrval)
[    9.503701]   start: 1ff02000000, end: 1ff02ffffff, i: 10
[    9.568334] pci 0000:00:0c.3: reg 0x10: [mem 0x1ff02000000-0x1ff02ffffff]
[    9.649582]   start: 1ff01000000, end: 1ff013fffff, i: 30
[    9.714218] pci 0000:00:0c.3: reg 0x30: [mem 0x1ff01000000-0x1ff013fffff]
[    9.795464]     adding to system ...
[    9.838518] PCI: dev header type: 0
[    9.880258]   * /pci@1f,0/sound@8
[    9.919990]     create device, devfn: 40, type: 
[    9.975250]     class: 0x40100 device name: 0000:00:08.0
[   10.038823] pci 0000:00:08.0: [10b9:5451] type 00 class 0x040100
[   10.110721]     parse addresses (40 bytes) @         (ptrval)
[   10.179506]   start: 1fe02000900, end: 1fe020009ff, i: 10
[   10.244142] pci 0000:00:08.0: reg 0x10: [io  0x1fe02000900-0x1fe020009ff]
[   10.325391]   start: 1ff00424000, end: 1ff00425fff, i: 14
[   10.390026] pci 0000:00:08.0: reg 0x14: [mem 0x1ff00424000-0x1ff00425fff]
[   10.471271]     adding to system ...
[   10.514119] pci 0000:00:08.0: supports D1 D2
[   10.514131] pci 0000:00:08.0: PME# supported from D2 D3hot D3cold
[   10.514430] PCI: dev header type: 0
[   10.556172]   * /pci@1f,0/ide@d
[   10.593822]     create device, devfn: 68, type: ide
[   10.652205]     class: 0x101ff device name: 0000:00:0d.0
[   10.715780] pci 0000:00:0d.0: [10b9:5229] type 00 class 0x0101ff
[   10.787672]     parse addresses (100 bytes) @         (ptrval)
[   10.857495]   start: 1fe02000a00, end: 1fe02000a07, i: 10
[   10.922130] pci 0000:00:0d.0: reg 0x10: [io  0x1fe02000a00-0x1fe02000a07]
[   11.003380]   start: 1fe02000a18, end: 1fe02000a1f, i: 14
[   11.068016] pci 0000:00:0d.0: reg 0x14: [io  0x1fe02000a18-0x1fe02000a1f]
[   11.149264]   start: 1fe02000a10, end: 1fe02000a17, i: 18
[   11.213900] pci 0000:00:0d.0: reg 0x18: [io  0x1fe02000a10-0x1fe02000a17]
[   11.295150]   start: 1fe02000a08, end: 1fe02000a0f, i: 1c
[   11.359785] pci 0000:00:0d.0: reg 0x1c: [io  0x1fe02000a08-0x1fe02000a0f]
[   11.441033]   start: 1fe02000a20, end: 1fe02000a2f, i: 20
[   11.505669] pci 0000:00:0d.0: reg 0x20: [io  0x1fe02000a20-0x1fe02000a2f]
[   11.586915]     adding to system ...
[   11.629978] PCI: dev header type: 0
[   11.671708]   * /pci@1f,0/pci@5
[   11.709365]     create device, devfn: 28, type: pci
[   11.767742]     class: 0x60400 device name: 0000:00:05.0
[   11.831315] pci 0000:00:05.0: [1011:0024] type 01 class 0x060400
[   11.903210]     adding to system ...
[   11.946311] PCI: dev header type: 1
[   11.988001] of_scan_pci_bridge(/pci@1f,0/pci@5)
[   12.042236]     Bridge bus range [1 --> 1]
[   12.091470]     Bridge ranges[        (ptrval)] simba[0]
[   12.154985]     RAW Range[81000000:00000000:00001000:81000000:00000000:00001000:00000000:00001000]
[   12.262208]       Using flags[00000101] start[0000000000001000] size[0000000000001000]
[   12.356975]     RAW Range[82000000:00000000:03000000:82000000:00000000:03000000:00000000:00100000]
[   12.464201]       Using flags[00000200] start[0000000003000000] size[0000000000100000]
[   12.558963]     bus name: PCI Bus 0000:01
[   12.606967] PCI: scan_bus[/pci@1f,0/pci@5] bus no 1
[   12.665361]   * /pci@1f,0/pci@5/scsi@0
[   12.710304]     create device, devfn: 0, type: 
[   12.764510]     class: 0x10000 device name: 0000:01:00.0
[   12.828090] pci 0000:01:00.0: [1000:0001] type 00 class 0x010000
[   12.899985]     parse addresses (40 bytes) @         (ptrval)
[   12.968770]   start: 1fe02001000, end: 1fe020010ff, i: 10
[   13.033408] pci 0000:01:00.0: reg 0x10: [io  0x1fe02001000-0x1fe020010ff]
[   13.114655]   start: 1ff03000000, end: 1ff03001fff, i: 14
[   13.179290] pci 0000:01:00.0: reg 0x14: [mem 0x1ff03000000-0x1ff03001fff]
[   13.260537]     adding to system ...
[   13.303636] PCI: dev header type: 0
[   13.345332]   * /pci@1f,0/pci@5/sound@1
[   13.391308]     create device, devfn: 8, type: 
[   13.445520]     class: 0x40100 device name: 0000:01:01.0
[   13.509093] pci 0000:01:01.0: [13f6:0111] type 00 class 0x040100
[   13.580989]     parse addresses (20 bytes) @         (ptrval)
[   13.649773]   start: 1fe02001100, end: 1fe020011ff, i: 10
[   13.714410] pci 0000:01:01.0: reg 0x10: [io  0x1fe02001100-0x1fe020011ff]
[   13.795654]     adding to system ...
[   13.838512] pci 0000:01:01.0: supports D1 D2
[   13.838755] PCI: dev header type: 0
[   13.880452]   * /pci@1f,0/pci@5/sound@2
[   13.926429]     create device, devfn: 10, type: 
[   13.981678]     class: 0x40100 device name: 0000:01:02.0
[   14.045249] pci 0000:01:02.0: [1013:6005] type 00 class 0x040100
[   14.117146]     parse addresses (40 bytes) @         (ptrval)
[   14.185931]   start: 1ff03002000, end: 1ff03003fff, i: 10
[   14.250568] pci 0000:01:02.0: reg 0x10: [mem 0x1ff03002000-0x1ff03003fff]
[   14.331816]   start: 1ff03010000, end: 1ff0301ffff, i: 14
[   14.396450] pci 0000:01:02.0: reg 0x14: [mem 0x1ff03010000-0x1ff0301ffff]
[   14.477696]     adding to system ...
[   14.520555] pci 0000:01:02.0: supports D1 D2
[   14.520565] pci 0000:01:02.0: PME# supported from D0 D1 D2 D3hot
[   14.520870] PCI: dev header type: 0
[   14.562597]   * /pci@1f,0/SUNW,m64B@13
[   14.607528]     create device, devfn: 98, type: display
[   14.670066]     class: 0x30000 device name: 0000:00:13.0
[   14.733629] pci 0000:00:13.0: [1002:4752] type 00 class 0x030000
[   14.805526]     parse addresses (80 bytes) @         (ptrval)
[   14.874311]   start: 1ff04000000, end: 1ff04ffffff, i: 10
[   14.938947] pci 0000:00:13.0: reg 0x10: [mem 0x1ff04000000-0x1ff04ffffff]
[   15.020197]   start: 1fe02000b00, end: 1fe02000bff, i: 14
[   15.084831] pci 0000:00:13.0: reg 0x14: [io  0x1fe02000b00-0x1fe02000bff]
[   15.166080]   start: 1ff00426000, end: 1ff00427fff, i: 18
[   15.230717] pci 0000:00:13.0: reg 0x18: [mem 0x1ff00426000-0x1ff00427fff]
[   15.311966]   start: 1ff00440000, end: 1ff0045ffff, i: 30
[   15.376601] pci 0000:00:13.0: reg 0x30: [mem 0x1ff00440000-0x1ff0045ffff]
[   15.457846]     adding to system ...
[   15.500698] pci 0000:00:13.0: supports D1 D2
[   15.500959] PCI: dev header type: 0
[   15.542832] pci 0000:00:0c.0: class 0x68000
[   15.592936] PCI: Claiming 0000:00:07.0: Resource 0: 000001fe02000000..000001fe0200ffff [101]
[   15.693943] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]
[   15.856232] PCI: Claiming 0000:00:07.0: Resource 1: 000001ff00000000..000001ff000fffff [200]
[   15.957232] pci 0000:00:07.0: class 0x60100
[   16.007314] PCI: Claiming 0000:00:03.0: Resource 0: 000001fe02000000..000001fe0200000f [101]
[   16.108310] pci 0000:00:03.0: class 0x0
[   16.154234] PCI: Claiming 0000:00:0c.1: Resource 0: 000001ff00400000..000001ff0041ffff [200]
[   16.255231] PCI: Claiming 0000:00:0c.1: Resource 6: 000001ff00800000..000001ff00bfffff [44200]
[   16.358309] pci 0000:00:0c.1: class 0x20000
[   16.408389] PCI: Claiming 0000:00:0c.2: Resource 0: 000001ff00420000..000001ff00421fff [200]
[   16.509387] PCI: Claiming 0000:00:0c.2: Resource 1: 000001ff00422000..000001ff00423fff [200]
[   16.610384] PCI: Claiming 0000:00:0c.2: Resource 6: 000001ff00c00000..000001ff00ffffff [44200]
[   16.713462] pci 0000:00:0c.2: class 0xc0010
[   16.763541] PCI: Claiming 0000:00:0c.3: Resource 0: 000001ff02000000..000001ff02ffffff [200]
[   16.864540] PCI: Claiming 0000:00:0c.3: Resource 6: 000001ff01000000..000001ff013fffff [44200]
[   16.967617] pci 0000:00:0c.3: class 0xc0310
[   17.017696] PCI: Claiming 0000:00:08.0: Resource 0: 000001fe02000900..000001fe020009ff [101]
[   17.118693] PCI: Claiming 0000:00:08.0: Resource 1: 000001ff00424000..000001ff00425fff [200]
[   17.219694] pci 0000:00:08.0: class 0x40100
[   17.269774] PCI: Claiming 0000:00:0d.0: Resource 0: 000001fe02000a00..000001fe02000a07 [101]
[   17.370772] PCI: Claiming 0000:00:0d.0: Resource 1: 000001fe02000a18..000001fe02000a1f [101]
[   17.471768] PCI: Claiming 0000:00:0d.0: Resource 2: 000001fe02000a10..000001fe02000a17 [101]
[   17.572766] PCI: Claiming 0000:00:0d.0: Resource 3: 000001fe02000a08..000001fe02000a0f [101]
[   17.673762] PCI: Claiming 0000:00:0d.0: Resource 4: 000001fe02000a20..000001fe02000a2f [101]
[   17.774763] pci 0000:00:0d.0: class 0x101ff
[   17.824843] PCI: Claiming 0000:00:05.0: Resource 7: 000001fe02001000..000001fe02001fff [101]
[   17.925839] PCI: Claiming 0000:00:05.0: Resource 8: 000001ff03000000..000001ff030fffff [200]
[   18.026838] pci 0000:00:05.0: class 0x60400
[   18.076919] PCI: Claiming 0000:00:13.0: Resource 0: 000001ff04000000..000001ff04ffffff [200]
[   18.177916] PCI: Claiming 0000:00:13.0: Resource 1: 000001fe02000b00..000001fe02000bff [101]
[   18.278914] PCI: Claiming 0000:00:13.0: Resource 2: 000001ff00426000..000001ff00427fff [200]
[   18.379910] PCI: Claiming 0000:00:13.0: Resource 6: 000001ff00440000..000001ff0045ffff [44200]
[   18.482987] pci 0000:00:13.0: class 0x30000
[   18.533079] pci 0000:00:13.0: requesting [mem 0x1ff000a0000-0x1ff000bffff] from /pci@1f,0 [mem 0x1ff00000000-0x1ffffffffff]
[   18.666284] pci 0000:00:13.0: can't claim VGA legacy [mem 0x1ff000a0000-0x1ff000bffff]: address conflict with 0000:00:07.0 [mem 0x1ff00000000-0x1ff000fffff]
[   18.833774] PCI: Claiming 0000:01:00.0: Resource 0: 000001fe02001000..000001fe020010ff [101]
[   18.934771] PCI: Claiming 0000:01:00.0: Resource 1: 000001ff03000000..000001ff03001fff [200]
[   19.035769] pci 0000:01:00.0: class 0x10000
[   19.085850] PCI: Claiming 0000:01:01.0: Resource 0: 000001fe02001100..000001fe020011ff [101]
[   19.186849] pci 0000:01:01.0: class 0x40100
[   19.236931] PCI: Claiming 0000:01:02.0: Resource 0: 000001ff03002000..000001ff03003fff [200]
[   19.337928] PCI: Claiming 0000:01:02.0: Resource 1: 000001ff03010000..000001ff0301ffff [200]
[   19.438926] pci 0000:01:02.0: class 0x40100
[   19.496203] audit: type 00 audit(0.320:1): state=initialized audit_enabled=0 res=1
[   19.622228] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[   19.702481] HugeTLB registered 8.00 MiB page size, pre-allocated 0 pages
[   19.782649] HugeTLB registered 256 MiB page size, pre-allocated 0 pages
[   19.861824] HugeTLB registered 2.00 GiB page size, pre-allocated 0 pages
[   19.945112] pci 0000:00:13.0: vgaarb: command 0x0080
[   20.004588] pci 0000:00:13.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
[   20.104590] pci 0000:00:13.0: vgaarb: bridge control possible
[   20.173340] pci 0000:00:13.0: vgaarb: setting as boot device (VGA legacy resources not enabled)
[   20.277446] vgaarb: loaded
[   20.310330] SCSI subsystem initialized
[   20.357726] libata version 3.00 loaded.
[   20.362515] /pci@1f,0/ebus@c/eeprom@1,0: Mostek regs at 0x1fff1000000
[   20.440726] clocksource: Switched to clocksource hbtick
[   20.520493] kworker/u2:2 (232) used greatest stack depth: 9104 bytes left
[   20.628364] NET: Registered protocol family 2
[   20.681769] tcp_listen_portaddr_hash hash table entries: 1024 (order: 1, 16384 bytes)
[   20.775592] TCP established hash table entries: 16384 (order: 4, 131072 bytes)
[   20.862705] TCP bind hash table entries: 16384 (order: 4, 131072 bytes)
[   20.942575] TCP: Hash tables configured (established 16384 bind 16384)
[   21.021233] UDP hash table entries: 1024 (order: 2, 32768 bytes)
[   21.093318] UDP-Lite hash table entries: 1024 (order: 2, 32768 bytes)
[   21.171152] NET: Registered protocol family 1
[   21.223437] pci 0000:00:07.0: Activating ISA DMA hang workarounds
[   21.296401] pci 0000:00:07.0: quirk_isa_dma_hangs+0x0/0x40 took 71237 usecs
[   21.379757] PCI: Enabling device: (0000:00:0c.3), cmd 2
[   21.510825] pci 0000:00:0c.3: quirk_usb_early_handoff+0x0/0x740 took 127968 usecs
[   21.600498] PCI: CLS 64 bytes, default 64
[   21.600871] power: Control reg at 1fe02000800
[   21.658494] workingset: timestamp_bitsb max_order\x18 bucket_order=0
[   21.787091] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 252)
[   21.875693] io scheduler noop registered
[   21.923116] io scheduler cfq registered (default)
[   21.979998] PCI: Enabling device: (0000:00:13.0), cmd 83
[   21.980065] atyfb: 3D RAGE XL (Mach64 GR, PCI-33) [0x4752 rev 0x27]
[   22.055139] atyfb: 8M SDRAM (1:1), 29.498928 MHz XTAL, 230 MHz PLL, 83 Mhz MCLK, 63 MHz XCLK
[   22.211443] Console: switching to colour frame buffer device 80x30
[   22.294364] atyfb: fb0: ATY Mach64 frame buffer device on PCI
[   22.366227] f007d64c: ttyS0 at MMIO 0x1fe020003f8 (irq = 9, base_baud = 115387) is a 16550A
[   22.466332] Console: ttyS0 (SU)
[   22.504011] console [ttyS0] enabled
[   22.591449] bootconsole [earlyprom0] disabled
[   22.702383] f007f1a4: ttyS1 at MMIO 0x1fe020002e8 (irq = 9, base_baud = 115387) is a 16550A
[   22.813941] PCI: Enabling device: (0000:00:0d.0), cmd 5
[   22.820467] scsi host0: pata_ali
[   22.864871] scsi host1: pata_ali
[   22.907614] ata1: PATA max UDMA/66 cmd 0x1fe02000a00 ctl 0x1fe02000a18 bmdma 0x1fe02000a20 irq 15
[   23.024268] ata2: PATA max UDMA/66 cmd 0x1fe02000a10 ctl 0x1fe02000a08 bmdma 0x1fe02000a28 irq 15
[   23.143206] mousedev: PS/2 mouse device common for all mice
[   23.219219] rtc-m48t59 rtc-m48t59.0: registered as rtc0
[   23.288749] NET: Registered protocol family 17
[   23.347160] Key type dns_resolver registered
[   23.406899] registered taskstats version 1
[   23.462916] Key type encrypted registered
[   23.516861] rtc-m48t59 rtc-m48t59.0: setting system clock to 2018-04-11 20:18:18 UTC (1523477898)
[   23.633992] ata1.00: ATA-5: ST320414A, 3.28, max UDMA/100
[   23.704921] ata1.00: 39851760 sectors, multi 0: LBA 
[   23.770211] ata1.01: ATAPI: LTN486S, Y3S2, max UDMA/33
[   23.837714] ata1.01: WARNING: ATAPI DMA disabled for reliability issues.  It can be enabled
[   23.947528] ata1.01: WARNING: via pata_ali.atapi_dma modparam or corresponding sysfs node.
[   24.060901] ata1.00: configured for UDMA/66
[   24.118364] ata1.01: configured for UDMA/33
[   24.174823] scsi 0:0:0:0: Direct-Access     ATA      ST320414A        3.28 PQ: 0 ANSI: 5
[   24.283973] sd 0:0:0:0: [sda] 39851760 512-byte logical blocks: (20.4 GB/19.0 GiB)
[   24.385464] scsi 0:0:1:0: CD-ROM            LITEON   CD-ROM LTN486S   Y3S2 PQ: 0 ANSI: 5
[   24.492621] sd 0:0:0:0: [sda] Write Protect is off
[   24.555632] sd 0:0:0:0: [sda] Mode Sense: 00 3a 00 00
[   24.558277] sd 0:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[   24.686096]  sda: sda1 sda2 sda3 sda4
[   24.749770] sd 0:0:0:0: [sda] Attached SCSI disk
[   24.847810] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
[   24.948613] VFS: Mounted root (ext4 filesystem) readonly on device 8:2.
[   25.064513] devtmpfs: mounted
[   25.104639] This architecture does not have kernel memory protection.
[   26.061161] systemd[1]: systemd 215 running in system mode. (+PAM +AUDIT +SELINUX +IMA +SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ -SECCOMP -APPARMOR)
[   26.236661] systemd[1]: Detected architecture 'sparc64'.
[   26.671894] systemd[1]: Inserted module 'autofs4'
[   26.800339] NET: Registered protocol family 10
[   26.946140] modprobe (500) used greatest stack depth: 7200 bytes left
[   27.090050] Segment Routing with IPv6
[   27.138485] systemd[1]: Inserted module 'ipv6'
[   27.210274] systemd[1]: Set hostname to <blade100>.
[   27.970208] systemd-fstab-g (513) used greatest stack depth: 7000 bytes left
[   28.590730] systemd-sysv-ge (518) used greatest stack depth: 6680 bytes left
[   29.410697] systemd[1]: Cannot add dependency job for unit display-manager.service, ignoring: Unit display-manager.service failed to load: No such file or directory.
[   29.609766] systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
[   29.711102] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[   29.810778] systemd[1]: Expecting device dev-ttyS0.device...
[   29.950980] systemd[1]: Starting Remote File Systems (Pre).
[   31.100922] systemd[1]: Listening on Journal Socket.
[   31.166388] systemd[1]: Starting System Slice.
[   31.280957] systemd[1]: Created slice System Slice.
[   31.345305] systemd[1]: Starting File System Check on Root Device...
[   31.495162] systemd[1]: Starting system-systemd\x2dfsck.slice.
[   31.651043] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[   31.736980] systemd[1]: Starting system-getty.slice.
[   31.803873] systemd[1]: Created slice system-getty.slice.
[   31.892349] systemd[1]: Starting system-serial\x2dgetty.slice.
[   31.991909] systemd[1]: Created slice system-serial\x2dgetty.slice.
[   32.781823] loop: module loaded
[   33.950896] EXT4-fs (sda2): re-mounted. Opts: errors=remount-ro
[   34.594866] systemd-udevd[858]: starting version 215
[   35.389844] /pci@1f,0/ebus@c/flashprom@0,0: OBP Flash, RD 1fff0000000[100000] WR 1fff0000000[100000]
[   35.891041] usbcore: registered new interface driver usbfs
[   35.963346] usbcore: registered new interface driver hub
[   36.033281] usbcore: registered new device driver usb
[   36.178897] PCI: Enabling device: (0000:00:03.0), cmd 1
[   36.194250] PCI: Enabling device: (0000:01:00.0), cmd 3
[   36.194997] sym0: <810a> rev 0x12 at pci 0000:01:00.0 irq 16
[   36.282598] i2c i2c-0: Error: command never completed
[   36.363542] alim7101_wdt: Steve Hill <steve@navaho.co.uk>
[   36.434571] alim7101_wdt: Detected old alim7101 revision 'a1d'.  If this is a cobalt board, set the 'use_gpio' module parameter.
[   36.671145] sd 0:0:0:0: Attached scsi generic sg0 type 0
[   36.762362] random: crng init done
[   36.896231] i2c i2c-0: Error: command never completed
[   36.986450] sym0: No NVRAM, ID 7, Fast-10, SE, parity checking
[   37.069076] sym0: SCSI BUS has been reset.
[   37.122903] scsi host2: sym-2.2.3
[   37.190955] sr 0:0:1:0: [sr0] scsi3-mmc drive: 48x/48x cd/rw xa/form2 cdda tray
[   37.287115] cdrom: Uniform CD-ROM driver Revision: 3.20
[   37.460994] sr 0:0:1:0: Attached scsi generic sg1 type 5
[   37.615750] i2c i2c-0: Error: command never completed
[   37.694838] sr 0:0:1:0: Attached scsi CD-ROM sr0
[   37.697846] i2c i2c-0: Error: command never completed
[   37.789344] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[   37.881449] i2c i2c-0: Error: command never completed
[   37.956046] i2c i2c-0: Error: command never completed
[   38.032177] i2c i2c-0: Error: command never completed
[   38.105769] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[   38.192532] i2c i2c-0: Error: command never completed
[   38.273178] i2c i2c-0: Error: command never completed
[   38.348701] i2c i2c-0: Error: command never completed
[   38.425577] i2c i2c-0: Error: command never completed
[   38.493495] ehci-pci: EHCI PCI platform driver
[   38.608019] i2c i2c-0: Error: command never completed
[   38.676301] sungem.c:v1.0 David S. Miller <davem@redhat.com>
[   38.752290] gem 0000:00:0c.1 eth0: Sun GEM (PCI) 10/100/1000BaseT Ethernet 00:03:ba:0b:7d:5d
[   38.892964] ohci-pci: OHCI PCI platform driver
[   38.951551] ohci-pci 0000:00:0c.3: OHCI PCI host controller
[   39.024840] ohci-pci 0000:00:0c.3: new USB bus registered, assigned bus number 1
[   39.122190] ohci-pci 0000:00:0c.3: irq 13, io mem 0x1ff02000000
[   39.271178] usb usb1: New USB device found, idVendor\x1d6b, idProduct\001, bcdDevice= 4.16
[   39.379924] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[   39.474909] usb usb1: Product: OHCI PCI host controller
[   39.543571] usb usb1: Manufacturer: Linux 4.16.0-11316-gf77cfbe-dirty ohci_hcd
[   39.638437] usb usb1: SerialNumber: 0000:00:0c.3
[   39.709158] hub 1-0:1.0: USB hub found
[   39.759851] hub 1-0:1.0: 4 ports detected
[   39.823518] alim7101_wdt: Steve Hill <steve@navaho.co.uk>
[   39.894525] alim7101_wdt: Detected old alim7101 revision 'a1d'.  If this is a cobalt board, set the 'use_gpio' module parameter.
[   40.099630] alim7101_wdt: Steve Hill <steve@navaho.co.uk>
[   40.170645] alim7101_wdt: Detected old alim7101 revision 'a1d'.  If this is a cobalt board, set the 'use_gpio' module parameter.
[   42.770525] Adding 907664k swap on /dev/sda4.  Priority:-2 extents:1 across:907664k 
[   43.331927] EXT4-fs (sda1): mounting ext3 file system using the ext4 subsystem
[   43.461921] EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)
[   44.086961] systemd-journald[848]: Received request to flush runtime journal from PID 1
[   45.582986] sungem_phy: PHY ID: 437421, addr: 1
[   45.583023] gem 0000:00:0c.1 eth0: Found Generic MII PHY
[   45.653493] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready
[   45.734391] ip (1089) used greatest stack depth: 6528 bytes left
[   47.306788] systemd-udevd (871) used greatest stack depth: 5808 bytes left
[   47.412708] systemd-udevd (863) used greatest stack depth: 4592 bytes left
[   48.151054] gem 0000:00:0c.1 eth0: Link is up at 100 Mbps, full-duplex
[   48.242519] gem 0000:00:0c.1 eth0: Pause is disabled
[   48.311819] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-11 20:25                 ` Meelis Roos
@ 2018-04-11 21:17                   ` Bjorn Helgaas
  -1 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-11 21:17 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Wed, Apr 11, 2018 at 11:25:06PM +0300, Meelis Roos wrote:
> > Thanks, this is really interesting.  Would you mind replacing the test
> > patch with the following (this applies directly on the upstream
> > kernel, e.g., fd3b36d27566)?
> > 
> > Sorry for the back and forth, but there's a lot going on here that I
> > don't understand.  
> > 
> > I'd like to see the complete dmesg log, /proc/iomem, and "lspci -vv".

Thanks, this helps a lot.  Things I learned or noticed:

1) Sparc exposes raw BAR values instead of CPU resource addresses
   because it implements pci_resource_to_user().  This means that on
   sparc, /sys/devices/pci*/resource and lspci show the raw BAR
   values, unlike most arches.

2) We select the ATI Rage XL device as the default VGA device.  The
   messages maybe could be improved because there's no bridge in the
   path, and the legacy resources are "not available" because the
   device's PCI_COMMAND_MEMORY and PCI_COMMAND_IO bits are disabled at
   boot (and probably enabled by the fb driver):

    pci 0000:00:13.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
    pci 0000:00:13.0: vgaarb: bridge control possible
    pci 0000:00:13.0: vgaarb: setting as boot device (VGA legacy resources not available)

3) With this patch, we do see a conflict between the VGA device and
   the ISA bridge, as I expected:

     pci_bus 0000:00: root bus resource [mem 0x1ff00000000-0x1ffffffffff] (bus address [0x00000000-0xffffffff])
     pci 0000:00:07.0: reg 0x14: [mem 0x1ff00000000-0x1ff000fffff]
     pci 0000:00:13.0: can't claim VGA legacy [mem 0x1ff000a0000-0x1ff000bffff]: address conflict with 0000:00:07.0 [mem 0x1ff00000000-0x1ff000fffff]

I don't know how to resolve this conflict nicely.  Both the ISA bridge
at 00:07.0 and the VGA device at 00:13.0 can claim accesses to the
framebuffer at PCI address 0xa0000.

I don't know what (if anything) is behind the ISA bridge.  Maybe we
could disable it by clearing its PCI_COMMAND_MEMORY and PCI_COMMAND_IO
bits?

My plan for now is to post the "Request legacy VGA framebuffer only
for VGA devices" patch and to write a small vgaarb patch to clarify
the messages.  That will still leave us with the "can't claim VGA
legacy" message unless we can figure out something to do there.

Bjorn

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-04-11 21:17                   ` Bjorn Helgaas
  0 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-04-11 21:17 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Wed, Apr 11, 2018 at 11:25:06PM +0300, Meelis Roos wrote:
> > Thanks, this is really interesting.  Would you mind replacing the test
> > patch with the following (this applies directly on the upstream
> > kernel, e.g., fd3b36d27566)?
> > 
> > Sorry for the back and forth, but there's a lot going on here that I
> > don't understand.  
> > 
> > I'd like to see the complete dmesg log, /proc/iomem, and "lspci -vv".

Thanks, this helps a lot.  Things I learned or noticed:

1) Sparc exposes raw BAR values instead of CPU resource addresses
   because it implements pci_resource_to_user().  This means that on
   sparc, /sys/devices/pci*/resource and lspci show the raw BAR
   values, unlike most arches.

2) We select the ATI Rage XL device as the default VGA device.  The
   messages maybe could be improved because there's no bridge in the
   path, and the legacy resources are "not available" because the
   device's PCI_COMMAND_MEMORY and PCI_COMMAND_IO bits are disabled at
   boot (and probably enabled by the fb driver):

    pci 0000:00:13.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
    pci 0000:00:13.0: vgaarb: bridge control possible
    pci 0000:00:13.0: vgaarb: setting as boot device (VGA legacy resources not available)

3) With this patch, we do see a conflict between the VGA device and
   the ISA bridge, as I expected:

     pci_bus 0000:00: root bus resource [mem 0x1ff00000000-0x1ffffffffff] (bus address [0x00000000-0xffffffff])
     pci 0000:00:07.0: reg 0x14: [mem 0x1ff00000000-0x1ff000fffff]
     pci 0000:00:13.0: can't claim VGA legacy [mem 0x1ff000a0000-0x1ff000bffff]: address conflict with 0000:00:07.0 [mem 0x1ff00000000-0x1ff000fffff]

I don't know how to resolve this conflict nicely.  Both the ISA bridge
at 00:07.0 and the VGA device at 00:13.0 can claim accesses to the
framebuffer at PCI address 0xa0000.

I don't know what (if anything) is behind the ISA bridge.  Maybe we
could disable it by clearing its PCI_COMMAND_MEMORY and PCI_COMMAND_IO
bits?

My plan for now is to post the "Request legacy VGA framebuffer only
for VGA devices" patch and to write a small vgaarb patch to clarify
the messages.  That will still leave us with the "can't claim VGA
legacy" message unless we can figure out something to do there.

Bjorn

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-11  7:59         ` Meelis Roos
@ 2018-05-21 20:10           ` Bjorn Helgaas
  -1 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-05-21 20:10 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Wed, Apr 11, 2018 at 10:59:19AM +0300, Meelis Roos wrote:
> Fire V210: Video RAM BAR error is gone, these are still here:
> [    5.061083] pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
> [    5.061334] pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0001:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

>From lspci (https://bugzilla.kernel.org/attachment.cgi?id=275239):

  0001:00:06.0 ULi Electronics Inc. M7101 Power Management Controller
    Region 0: [virtual] I/O ports at <unassigned> [size=16]
  0001:00:07.0 ISA bridge: ULi Electronics Inc. M1533/M1535/M1543 PCI to ISA Bridge
    Region 0: [virtual] I/O ports at 7fe01000000 [size=64K]
    Region 1: [virtual] Memory at 7ff00000000 (32-bit, non-prefetchable) [size=1M]
    Region 2: [virtual] Memory at 7ff00000000 (32-bit, non-prefetchable) [size=1M]

>From dmesg log (https://bugzilla.kernel.org/attachment.cgi?id=275237):

  pci 0001:00:06.0: quirk: [io  0x7fe01000800-0x7fe0100083f] claimed by ali7101 ACPI
  pci 0001:00:06.0: quirk: [io  0x7fe01000600-0x7fe0100061f] claimed by ali7101 SMB

The 0001:00:07.0 BAR 0 conflict is with the ali7101 quirk.  I don't
know how to fix that.  The quirk doesn't match up with the M1543/M7101
docs I can find, but the quirk has been there forever and I don't
think we can safely change it.

The BAR 2 conflict is with 0001:00:07.0's own BAR 1.  I think those
come from OF, not directly from the hardware, and it looks like an OF
error that BAR 1 and BAR 2 are the same.

We could filter out duplicates like this if they cause a problem.  But
I'm not sure whether anything actually breaks because of this
conflict.

After the VGA framebuffer change, do you see anything that's still
broken (besides the "can't claim" messages, I mean)?

> Fire V240: Video RAM BAR errors is gone, these are still here:
> [    5.530237] pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
> [    5.530389] pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0001:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

Looks the same as V210.

> Fire V440: Video RAM BAR error is gone, these are still here:
> [    5.082920] pci 0002:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0002:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
> [    5.082945] pci 0002:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0002:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

Looks the same as V210.

> Blade 100: Video RAM related BAR error is gnone, this is still here:
> [    6.131499] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]

Looks the same as V210, except that the firmware apparently doesn't
have the duplicate BAR 1/2 that the other boxes have.

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-05-21 20:10           ` Bjorn Helgaas
  0 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-05-21 20:10 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Wed, Apr 11, 2018 at 10:59:19AM +0300, Meelis Roos wrote:
> Fire V210: Video RAM BAR error is gone, these are still here:
> [    5.061083] pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
> [    5.061334] pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0001:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

From lspci (https://bugzilla.kernel.org/attachment.cgi?id'5239):

  0001:00:06.0 ULi Electronics Inc. M7101 Power Management Controller
    Region 0: [virtual] I/O ports at <unassigned> [size\x16]
  0001:00:07.0 ISA bridge: ULi Electronics Inc. M1533/M1535/M1543 PCI to ISA Bridge
    Region 0: [virtual] I/O ports at 7fe01000000 [sizedK]
    Region 1: [virtual] Memory at 7ff00000000 (32-bit, non-prefetchable) [size=1M]
    Region 2: [virtual] Memory at 7ff00000000 (32-bit, non-prefetchable) [size=1M]

From dmesg log (https://bugzilla.kernel.org/attachment.cgi?id'5237):

  pci 0001:00:06.0: quirk: [io  0x7fe01000800-0x7fe0100083f] claimed by ali7101 ACPI
  pci 0001:00:06.0: quirk: [io  0x7fe01000600-0x7fe0100061f] claimed by ali7101 SMB

The 0001:00:07.0 BAR 0 conflict is with the ali7101 quirk.  I don't
know how to fix that.  The quirk doesn't match up with the M1543/M7101
docs I can find, but the quirk has been there forever and I don't
think we can safely change it.

The BAR 2 conflict is with 0001:00:07.0's own BAR 1.  I think those
come from OF, not directly from the hardware, and it looks like an OF
error that BAR 1 and BAR 2 are the same.

We could filter out duplicates like this if they cause a problem.  But
I'm not sure whether anything actually breaks because of this
conflict.

After the VGA framebuffer change, do you see anything that's still
broken (besides the "can't claim" messages, I mean)?

> Fire V240: Video RAM BAR errors is gone, these are still here:
> [    5.530237] pci 0001:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0001:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
> [    5.530389] pci 0001:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0001:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

Looks the same as V210.

> Fire V440: Video RAM BAR error is gone, these are still here:
> [    5.082920] pci 0002:00:07.0: can't claim BAR 0 [io  0x7fe01000000-0x7fe0100ffff]: address conflict with 0002:00:06.0 [io  0x7fe01000600-0x7fe0100061f]
> [    5.082945] pci 0002:00:07.0: can't claim BAR 2 [mem 0x7ff00000000-0x7ff000fffff]: address conflict with 0002:00:07.0 [mem 0x7ff00000000-0x7ff000fffff]

Looks the same as V210.

> Blade 100: Video RAM related BAR error is gnone, this is still here:
> [    6.131499] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]

Looks the same as V210, except that the firmware apparently doesn't
have the duplicate BAR 1/2 that the other boxes have.

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-04-08 18:44 ` Meelis Roos
@ 2018-06-20 22:05   ` Bjorn Helgaas
  -1 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-06-20 22:05 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Sun, Apr 08, 2018 at 09:44:57PM +0300, Meelis Roos wrote:
> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> corresponding https://bugzilla.kernel.org/show_bug.cgi?id=117191 entry.
> 
> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> BAR allocation problems introduced in 4.3 were fixed on some of them. 
> Alas, no change at all - of the test machines, none showed any changes 
> in the error messages in "dmesg | grep BAR".
> 
> There was one test machine, T1000 with no addon cards, that did not 
> encounter any problem, before or after the recent patch. All the other 
> test machines tried still have the BAR allocation problems.
> 
> The errors seem to cluster into 3 categories:
> 
> 1. many devices fail BAR allocations
> 2. one of the Davicom Ethernet devices fails BAR allocation
> 3. Uli ISA bridge fails BAR allocation.
> 
> Full current dmesg and lspci info is also available if there is any 
> interest. I did not include it all here, which machines are interesting?

Hi Meelis,

Fixes for the worst of these issues are in v4.18-rc1.

I think there are still cases where we will complain about conflicts.
Some of these look like they result from OF/DT descriptions that
contain conflicts, and they may not cause a problem other than the
message itself.

If you have a chance to try out v4.18-rc1 or later and if you still
see things broken, please let me know and include the dmesg log.

Bjorn

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-06-20 22:05   ` Bjorn Helgaas
  0 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-06-20 22:05 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Sun, Apr 08, 2018 at 09:44:57PM +0300, Meelis Roos wrote:
> This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> corresponding https://bugzilla.kernel.org/show_bug.cgi?id\x117191 entry.
> 
> I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> BAR allocation problems introduced in 4.3 were fixed on some of them. 
> Alas, no change at all - of the test machines, none showed any changes 
> in the error messages in "dmesg | grep BAR".
> 
> There was one test machine, T1000 with no addon cards, that did not 
> encounter any problem, before or after the recent patch. All the other 
> test machines tried still have the BAR allocation problems.
> 
> The errors seem to cluster into 3 categories:
> 
> 1. many devices fail BAR allocations
> 2. one of the Davicom Ethernet devices fails BAR allocation
> 3. Uli ISA bridge fails BAR allocation.
> 
> Full current dmesg and lspci info is also available if there is any 
> interest. I did not include it all here, which machines are interesting?

Hi Meelis,

Fixes for the worst of these issues are in v4.18-rc1.

I think there are still cases where we will complain about conflicts.
Some of these look like they result from OF/DT descriptions that
contain conflicts, and they may not cause a problem other than the
message itself.

If you have a chance to try out v4.18-rc1 or later and if you still
see things broken, please let me know and include the dmesg log.

Bjorn

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-06-20 22:05   ` Bjorn Helgaas
@ 2018-06-29 10:06     ` Meelis Roos
  -1 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-06-29 10:06 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> > This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> > corresponding https://bugzilla.kernel.org/show_bug.cgi?id=117191 entry.
> > 
> > I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> > 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> > BAR allocation problems introduced in 4.3 were fixed on some of them. 
> > Alas, no change at all - of the test machines, none showed any changes 
> > in the error messages in "dmesg | grep BAR".
> > 
> > There was one test machine, T1000 with no addon cards, that did not 
> > encounter any problem, before or after the recent patch. All the other 
> > test machines tried still have the BAR allocation problems.
> > 
> > The errors seem to cluster into 3 categories:
> > 
> > 1. many devices fail BAR allocations
> > 2. one of the Davicom Ethernet devices fails BAR allocation
> > 3. Uli ISA bridge fails BAR allocation.
> > 
> > Full current dmesg and lspci info is also available if there is any 
> > interest. I did not include it all here, which machines are interesting?
> 
> Hi Meelis,
> 
> Fixes for the worst of these issues are in v4.18-rc1.

Thank you!
 
> I think there are still cases where we will complain about conflicts.
> Some of these look like they result from OF/DT descriptions that
> contain conflicts, and they may not cause a problem other than the
> message itself.

Video RAM area related BAR messages are gone from all servers.

V100 OK
V120 OK
Netra X1 OK
Netra T1-200 OK
Netra T1-105 OK

T2000 still has "no compatible bridge window" about ULi ISA Bridge:

[    3.767832] pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window

V245 still has "no compatible bridge window" about ULI ISA Bridge:

[    4.522892] pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window


ULi PMU resource conflict still present on these servers:

V210
V240
V440
Blade 100

On Blade 100 it is different than the newer V*:
[    9.100363] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]

00:03.0 Non-VGA unclassified device: ULi Electronics Inc. M7101 Power Management Controller [PMU]
00:07.0 ISA bridge: ULi Electronics Inc. M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+]


Additionally, ULi ISA Bridge self-conflict still present - is that 
because it was already reserved by the OF? On these machines:

V210
V240
V440


-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-06-29 10:06     ` Meelis Roos
  0 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-06-29 10:06 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> > This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> > corresponding https://bugzilla.kernel.org/show_bug.cgi?id\x117191 entry.
> > 
> > I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> > 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> > BAR allocation problems introduced in 4.3 were fixed on some of them. 
> > Alas, no change at all - of the test machines, none showed any changes 
> > in the error messages in "dmesg | grep BAR".
> > 
> > There was one test machine, T1000 with no addon cards, that did not 
> > encounter any problem, before or after the recent patch. All the other 
> > test machines tried still have the BAR allocation problems.
> > 
> > The errors seem to cluster into 3 categories:
> > 
> > 1. many devices fail BAR allocations
> > 2. one of the Davicom Ethernet devices fails BAR allocation
> > 3. Uli ISA bridge fails BAR allocation.
> > 
> > Full current dmesg and lspci info is also available if there is any 
> > interest. I did not include it all here, which machines are interesting?
> 
> Hi Meelis,
> 
> Fixes for the worst of these issues are in v4.18-rc1.

Thank you!
 
> I think there are still cases where we will complain about conflicts.
> Some of these look like they result from OF/DT descriptions that
> contain conflicts, and they may not cause a problem other than the
> message itself.

Video RAM area related BAR messages are gone from all servers.

V100 OK
V120 OK
Netra X1 OK
Netra T1-200 OK
Netra T1-105 OK

T2000 still has "no compatible bridge window" about ULi ISA Bridge:

[    3.767832] pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window

V245 still has "no compatible bridge window" about ULI ISA Bridge:

[    4.522892] pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window


ULi PMU resource conflict still present on these servers:

V210
V240
V440
Blade 100

On Blade 100 it is different than the newer V*:
[    9.100363] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]

00:03.0 Non-VGA unclassified device: ULi Electronics Inc. M7101 Power Management Controller [PMU]
00:07.0 ISA bridge: ULi Electronics Inc. M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+]


Additionally, ULi ISA Bridge self-conflict still present - is that 
because it was already reserved by the OF? On these machines:

V210
V240
V440


-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-06-29 10:06     ` Meelis Roos
@ 2018-06-29 13:47       ` Bjorn Helgaas
  -1 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-06-29 13:47 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Fri, Jun 29, 2018 at 01:06:55PM +0300, Meelis Roos wrote:
> > > This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> > > corresponding https://bugzilla.kernel.org/show_bug.cgi?id=117191 entry.
> > > 
> > > I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> > > 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> > > BAR allocation problems introduced in 4.3 were fixed on some of them. 
> > > Alas, no change at all - of the test machines, none showed any changes 
> > > in the error messages in "dmesg | grep BAR".
> > > 
> > > There was one test machine, T1000 with no addon cards, that did not 
> > > encounter any problem, before or after the recent patch. All the other 
> > > test machines tried still have the BAR allocation problems.
> > > 
> > > The errors seem to cluster into 3 categories:
> > > 
> > > 1. many devices fail BAR allocations
> > > 2. one of the Davicom Ethernet devices fails BAR allocation
> > > 3. Uli ISA bridge fails BAR allocation.
> > > 
> > > Full current dmesg and lspci info is also available if there is any 
> > > interest. I did not include it all here, which machines are interesting?
> > 
> > Hi Meelis,
> > 
> > Fixes for the worst of these issues are in v4.18-rc1.
> 
> Thank you!
>  
> > I think there are still cases where we will complain about conflicts.
> > Some of these look like they result from OF/DT descriptions that
> > contain conflicts, and they may not cause a problem other than the
> > message itself.
> 
> Video RAM area related BAR messages are gone from all servers.
> 
> V100 OK
> V120 OK
> Netra X1 OK
> Netra T1-200 OK
> Netra T1-105 OK
> 
> T2000 still has "no compatible bridge window" about ULi ISA Bridge:
> 
> [    3.767832] pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window

>From the dmesg log at https://bugzilla.kernel.org/show_bug.cgi?id=117191,

  pci_sun4v f0287174: PCI host bridge to bus 0001:02
  pci_bus 0001:02: root bus resource [io  0xf010000000-0xf01fffffff] (bus address [0x0000-0xfffffff])
  pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window

BAR 0 could potentially be valid, if the intermediate bridge windows
were set up correctly.  But from the lspci:

  0001:02:00.0 PCI bridge: PEX 8532 Upstream Port
    Bus: primary=02, secondary=03, subordinate=09
    I/O behind bridge: 00000000-00002fff
  0001:03:01.0 PCI bridge: PEX 8532 Downstream Port
    Bus: primary=03, secondary=04, subordinate=06
    I/O behind bridge: 00000000-00000fff
  0001:04:00.0 PCI bridge: PCIe to PCI/PCI-X Bridge
    Bus: primary=04, secondary=05, subordinate=05
    I/O behind bridge: 00000000-00000fff
  0001:05:02.0 ISA bridge: ULi M1533/M1535/M1543 PCI to ISA Bridge
    Region 0: [virtual] I/O ports at f010000000 [size=64K]

(lspci normally shows the CPU addresses, but it looks like it's showing
bus addresses here (except for the 0001:05:02.0 I/O BAR).  That might
be something we should sort out at some point.  I know sparc does
things differently in that area.)

But either way, the 0001:04:00.0 I/O aperture is only 4K in size, and
apparently OF is telling us the ISA bridge has a 64K I/O BAR, so that
explains the "no compatible bridge window" message.  We can't fit a
64K BAR in a 4K window.

Do you know if there's an ISA device behind that bridge?  If there
is, and it only requires I/O ports in the 0-0xfff range, it probably
still works in spite of the warning.

But if it needs anything above 0xfff, or if we decided to be "smart"
and not enable I/O on the bridge because we think the I/O BAR is
invalid, it wouldn't work.

> V245 still has "no compatible bridge window" about ULI ISA Bridge:
> 
> [    4.522892] pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window

Again from https://bugzilla.kernel.org/show_bug.cgi?id=117191,

  fire f0068b8c: PCI host bridge to bus 0000:02
  pci_bus 0000:02: root bus resource [io  0x7f810000000-0x7f81fffffff] (bus address [0x0000-0xfffffff])
  pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window

  0000:04:00.0 PCI bridge: ULi M5249 HTT to PCI Bridge
    Bus: primary=04, secondary=05, subordinate=05
    I/O behind bridge: 00001000-00001fff
    Memory behind bridge: 00200000-03ffffff
  0000:05:1c.0 ULi USB 1.1 Controller [OHCI]
    Region 0: Memory at 01000000 (32-bit, non-prefetchable) [size=16M]
  0000:05:1c.1 ULi USB 1.1 Controller [OHCI]
    Region 0: Memory at 02000000 (32-bit, non-prefetchable) [size=16M]
  0000:05:1c.3 ULi USB 2.0 Controller [EHCI]
    Region 0: Memory at 00200000 (32-bit, non-prefetchable) [size=8K]
  0000:05:1e.0 ISA bridge: ULi M1575 South Bridge
    Region 0: [virtual] I/O ports at 7f810000000 [size=4K]
  0000:05:1f.0 ULi M5229 IDE
    Region 0: I/O ports at 1040 [size=64]
    Region 1: I/O ports at 1080 [size=64]
    Region 2: I/O ports at 10c0 [size=64]
    Region 3: I/O ports at 1100 [size=64]
    Region 4: I/O ports at 1000 [size=64]

The 0000:05:1e.0 I/O BAR (BAR 0) contains 0 (at least according to
OF).  This is clearly invalid because the bridge at 0000:04:00.0 will
never route anything to bus 05 with an I/O bus address of 0, so
nothing behind the 05:1e.0 ISA bridge should work.

If you still have the v4.18-rc1 logs from these boxes, would you mind
attaching them to the bugzilla?

> ULi PMU resource conflict still present on these servers:
> 
> V210
> V240
> V440
> Blade 100
> 
> On Blade 100 it is different than the newer V*:
> [    9.100363] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]
> 
> 00:03.0 Non-VGA unclassified device: ULi Electronics Inc. M7101 Power Management Controller [PMU]
> 00:07.0 ISA bridge: ULi Electronics Inc. M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+]
> 
> 
> Additionally, ULi ISA Bridge self-conflict still present - is that 
> because it was already reserved by the OF? On these machines:
> 
> V210
> V240
> V440

I haven't looked at the rest of these yet.

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-06-29 13:47       ` Bjorn Helgaas
  0 siblings, 0 replies; 40+ messages in thread
From: Bjorn Helgaas @ 2018-06-29 13:47 UTC (permalink / raw)
  To: Meelis Roos; +Cc: Yinghai Lu, linux-pci, sparclinux

On Fri, Jun 29, 2018 at 01:06:55PM +0300, Meelis Roos wrote:
> > > This is a followup on the thread https://lkml.org/lkml/2015/10/7/135 and 
> > > corresponding https://bugzilla.kernel.org/show_bug.cgi?id\x117191 entry.
> > > 
> > > I saw some sparc64 PCI allocation changes in yesterdays git and compiled 
> > > 4.16.0-10242-gf605ba9 on most of my sparc64 machines to test if the PCI 
> > > BAR allocation problems introduced in 4.3 were fixed on some of them. 
> > > Alas, no change at all - of the test machines, none showed any changes 
> > > in the error messages in "dmesg | grep BAR".
> > > 
> > > There was one test machine, T1000 with no addon cards, that did not 
> > > encounter any problem, before or after the recent patch. All the other 
> > > test machines tried still have the BAR allocation problems.
> > > 
> > > The errors seem to cluster into 3 categories:
> > > 
> > > 1. many devices fail BAR allocations
> > > 2. one of the Davicom Ethernet devices fails BAR allocation
> > > 3. Uli ISA bridge fails BAR allocation.
> > > 
> > > Full current dmesg and lspci info is also available if there is any 
> > > interest. I did not include it all here, which machines are interesting?
> > 
> > Hi Meelis,
> > 
> > Fixes for the worst of these issues are in v4.18-rc1.
> 
> Thank you!
>  
> > I think there are still cases where we will complain about conflicts.
> > Some of these look like they result from OF/DT descriptions that
> > contain conflicts, and they may not cause a problem other than the
> > message itself.
> 
> Video RAM area related BAR messages are gone from all servers.
> 
> V100 OK
> V120 OK
> Netra X1 OK
> Netra T1-200 OK
> Netra T1-105 OK
> 
> T2000 still has "no compatible bridge window" about ULi ISA Bridge:
> 
> [    3.767832] pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window

From the dmesg log at https://bugzilla.kernel.org/show_bug.cgi?id\x117191,

  pci_sun4v f0287174: PCI host bridge to bus 0001:02
  pci_bus 0001:02: root bus resource [io  0xf010000000-0xf01fffffff] (bus address [0x0000-0xfffffff])
  pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window

BAR 0 could potentially be valid, if the intermediate bridge windows
were set up correctly.  But from the lspci:

  0001:02:00.0 PCI bridge: PEX 8532 Upstream Port
    Bus: primary\x02, secondary\x03, subordinate	
    I/O behind bridge: 00000000-00002fff
  0001:03:01.0 PCI bridge: PEX 8532 Downstream Port
    Bus: primary\x03, secondary\x04, subordinate\x06
    I/O behind bridge: 00000000-00000fff
  0001:04:00.0 PCI bridge: PCIe to PCI/PCI-X Bridge
    Bus: primary\x04, secondary\x05, subordinate\x05
    I/O behind bridge: 00000000-00000fff
  0001:05:02.0 ISA bridge: ULi M1533/M1535/M1543 PCI to ISA Bridge
    Region 0: [virtual] I/O ports at f010000000 [sizedK]

(lspci normally shows the CPU addresses, but it looks like it's showing
bus addresses here (except for the 0001:05:02.0 I/O BAR).  That might
be something we should sort out at some point.  I know sparc does
things differently in that area.)

But either way, the 0001:04:00.0 I/O aperture is only 4K in size, and
apparently OF is telling us the ISA bridge has a 64K I/O BAR, so that
explains the "no compatible bridge window" message.  We can't fit a
64K BAR in a 4K window.

Do you know if there's an ISA device behind that bridge?  If there
is, and it only requires I/O ports in the 0-0xfff range, it probably
still works in spite of the warning.

But if it needs anything above 0xfff, or if we decided to be "smart"
and not enable I/O on the bridge because we think the I/O BAR is
invalid, it wouldn't work.

> V245 still has "no compatible bridge window" about ULI ISA Bridge:
> 
> [    4.522892] pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window

Again from https://bugzilla.kernel.org/show_bug.cgi?id\x117191,

  fire f0068b8c: PCI host bridge to bus 0000:02
  pci_bus 0000:02: root bus resource [io  0x7f810000000-0x7f81fffffff] (bus address [0x0000-0xfffffff])
  pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window

  0000:04:00.0 PCI bridge: ULi M5249 HTT to PCI Bridge
    Bus: primary\x04, secondary\x05, subordinate\x05
    I/O behind bridge: 00001000-00001fff
    Memory behind bridge: 00200000-03ffffff
  0000:05:1c.0 ULi USB 1.1 Controller [OHCI]
    Region 0: Memory at 01000000 (32-bit, non-prefetchable) [size\x16M]
  0000:05:1c.1 ULi USB 1.1 Controller [OHCI]
    Region 0: Memory at 02000000 (32-bit, non-prefetchable) [size\x16M]
  0000:05:1c.3 ULi USB 2.0 Controller [EHCI]
    Region 0: Memory at 00200000 (32-bit, non-prefetchable) [size=8K]
  0000:05:1e.0 ISA bridge: ULi M1575 South Bridge
    Region 0: [virtual] I/O ports at 7f810000000 [size=4K]
  0000:05:1f.0 ULi M5229 IDE
    Region 0: I/O ports at 1040 [sized]
    Region 1: I/O ports at 1080 [sized]
    Region 2: I/O ports at 10c0 [sized]
    Region 3: I/O ports at 1100 [sized]
    Region 4: I/O ports at 1000 [sized]

The 0000:05:1e.0 I/O BAR (BAR 0) contains 0 (at least according to
OF).  This is clearly invalid because the bridge at 0000:04:00.0 will
never route anything to bus 05 with an I/O bus address of 0, so
nothing behind the 05:1e.0 ISA bridge should work.

If you still have the v4.18-rc1 logs from these boxes, would you mind
attaching them to the bugzilla?

> ULi PMU resource conflict still present on these servers:
> 
> V210
> V240
> V440
> Blade 100
> 
> On Blade 100 it is different than the newer V*:
> [    9.100363] pci 0000:00:07.0: can't claim BAR 0 [io  0x1fe02000000-0x1fe0200ffff]: address conflict with 0000:00:03.0 [io  0x1fe02000600-0x1fe0200061f]
> 
> 00:03.0 Non-VGA unclassified device: ULi Electronics Inc. M7101 Power Management Controller [PMU]
> 00:07.0 ISA bridge: ULi Electronics Inc. M1533/M1535/M1543 PCI to ISA Bridge [Aladdin IV/V/V+]
> 
> 
> Additionally, ULi ISA Bridge self-conflict still present - is that 
> because it was already reserved by the OF? On these machines:
> 
> V210
> V240
> V440

I haven't looked at the rest of these yet.

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

* Re: sparc64 PCI BAR allocation is still problematic
  2018-06-29 13:47       ` Bjorn Helgaas
@ 2018-07-06 19:49         ` Meelis Roos
  -1 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-07-06 19:49 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> > Video RAM area related BAR messages are gone from all servers.
> > 
> > V100 OK
> > V120 OK
> > Netra X1 OK
> > Netra T1-200 OK
> > Netra T1-105 OK
> > 
> > T2000 still has "no compatible bridge window" about ULi ISA Bridge:
> > 
> > [    3.767832] pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window
> 
> >From the dmesg log at https://bugzilla.kernel.org/show_bug.cgi?id=117191,
> 
>   pci_sun4v f0287174: PCI host bridge to bus 0001:02
>   pci_bus 0001:02: root bus resource [io  0xf010000000-0xf01fffffff] (bus address [0x0000-0xfffffff])
>   pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window
> 
> BAR 0 could potentially be valid, if the intermediate bridge windows
> were set up correctly.  But from the lspci:
> 
>   0001:02:00.0 PCI bridge: PEX 8532 Upstream Port
>     Bus: primary=02, secondary=03, subordinate=09
>     I/O behind bridge: 00000000-00002fff
>   0001:03:01.0 PCI bridge: PEX 8532 Downstream Port
>     Bus: primary=03, secondary=04, subordinate=06
>     I/O behind bridge: 00000000-00000fff
>   0001:04:00.0 PCI bridge: PCIe to PCI/PCI-X Bridge
>     Bus: primary=04, secondary=05, subordinate=05
>     I/O behind bridge: 00000000-00000fff
>   0001:05:02.0 ISA bridge: ULi M1533/M1535/M1543 PCI to ISA Bridge
>     Region 0: [virtual] I/O ports at f010000000 [size=64K]
> 
> (lspci normally shows the CPU addresses, but it looks like it's showing
> bus addresses here (except for the 0001:05:02.0 I/O BAR).  That might
> be something we should sort out at some point.  I know sparc does
> things differently in that area.)
> 
> But either way, the 0001:04:00.0 I/O aperture is only 4K in size, and
> apparently OF is telling us the ISA bridge has a 64K I/O BAR, so that
> explains the "no compatible bridge window" message.  We can't fit a
> 64K BAR in a 4K window.
> 
> Do you know if there's an ISA device behind that bridge?  If there
> is, and it only requires I/O ports in the 0-0xfff range, it probably
> still works in spite of the warning.

prtconf shows from OF that a serial port is there:

                        Node 0xf02991b8
                            ignore-cd:
                            reg:  00000000.000003f8.00000008
                            interrupts:  00000001
                            compatible: 'su16550' + 'su'
                            device_type:  'serial'
                            name:  'serial'


> But if it needs anything above 0xfff, or if we decided to be "smart"
> and not enable I/O on the bridge because we think the I/O BAR is
> invalid, it wouldn't work.
> 
> > V245 still has "no compatible bridge window" about ULI ISA Bridge:
> > 
> > [    4.522892] pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window
> 
> Again from https://bugzilla.kernel.org/show_bug.cgi?id=117191,
> 
>   fire f0068b8c: PCI host bridge to bus 0000:02
>   pci_bus 0000:02: root bus resource [io  0x7f810000000-0x7f81fffffff] (bus address [0x0000-0xfffffff])
>   pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window
> 
>   0000:04:00.0 PCI bridge: ULi M5249 HTT to PCI Bridge
>     Bus: primary=04, secondary=05, subordinate=05
>     I/O behind bridge: 00001000-00001fff
>     Memory behind bridge: 00200000-03ffffff
>   0000:05:1c.0 ULi USB 1.1 Controller [OHCI]
>     Region 0: Memory at 01000000 (32-bit, non-prefetchable) [size=16M]
>   0000:05:1c.1 ULi USB 1.1 Controller [OHCI]
>     Region 0: Memory at 02000000 (32-bit, non-prefetchable) [size=16M]
>   0000:05:1c.3 ULi USB 2.0 Controller [EHCI]
>     Region 0: Memory at 00200000 (32-bit, non-prefetchable) [size=8K]
>   0000:05:1e.0 ISA bridge: ULi M1575 South Bridge
>     Region 0: [virtual] I/O ports at 7f810000000 [size=4K]
>   0000:05:1f.0 ULi M5229 IDE
>     Region 0: I/O ports at 1040 [size=64]
>     Region 1: I/O ports at 1080 [size=64]
>     Region 2: I/O ports at 10c0 [size=64]
>     Region 3: I/O ports at 1100 [size=64]
>     Region 4: I/O ports at 1000 [size=64]
> 
> The 0000:05:1e.0 I/O BAR (BAR 0) contains 0 (at least according to
> OF).  This is clearly invalid because the bridge at 0000:04:00.0 will
> never route anything to bus 05 with an I/O bus address of 0, so
> nothing behind the 05:1e.0 ISA bridge should work.
> 
> If you still have the v4.18-rc1 logs from these boxes, would you mind
> attaching them to the bugzilla?

Found 4.17.0 and 4.18-rc2+git dmesgs for both T2000 and V245, attached 
there.

-- 
Meelis Roos (mroos@linux.ee)

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

* Re: sparc64 PCI BAR allocation is still problematic
@ 2018-07-06 19:49         ` Meelis Roos
  0 siblings, 0 replies; 40+ messages in thread
From: Meelis Roos @ 2018-07-06 19:49 UTC (permalink / raw)
  To: Bjorn Helgaas; +Cc: Yinghai Lu, linux-pci, sparclinux

> > Video RAM area related BAR messages are gone from all servers.
> > 
> > V100 OK
> > V120 OK
> > Netra X1 OK
> > Netra T1-200 OK
> > Netra T1-105 OK
> > 
> > T2000 still has "no compatible bridge window" about ULi ISA Bridge:
> > 
> > [    3.767832] pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window
> 
> >From the dmesg log at https://bugzilla.kernel.org/show_bug.cgi?id\x117191,
> 
>   pci_sun4v f0287174: PCI host bridge to bus 0001:02
>   pci_bus 0001:02: root bus resource [io  0xf010000000-0xf01fffffff] (bus address [0x0000-0xfffffff])
>   pci 0001:05:02.0: can't claim BAR 0 [io  0xf010000000-0xf01000ffff]: no compatible bridge window
> 
> BAR 0 could potentially be valid, if the intermediate bridge windows
> were set up correctly.  But from the lspci:
> 
>   0001:02:00.0 PCI bridge: PEX 8532 Upstream Port
>     Bus: primary\x02, secondary\x03, subordinate	
>     I/O behind bridge: 00000000-00002fff
>   0001:03:01.0 PCI bridge: PEX 8532 Downstream Port
>     Bus: primary\x03, secondary\x04, subordinate\x06
>     I/O behind bridge: 00000000-00000fff
>   0001:04:00.0 PCI bridge: PCIe to PCI/PCI-X Bridge
>     Bus: primary\x04, secondary\x05, subordinate\x05
>     I/O behind bridge: 00000000-00000fff
>   0001:05:02.0 ISA bridge: ULi M1533/M1535/M1543 PCI to ISA Bridge
>     Region 0: [virtual] I/O ports at f010000000 [sizedK]
> 
> (lspci normally shows the CPU addresses, but it looks like it's showing
> bus addresses here (except for the 0001:05:02.0 I/O BAR).  That might
> be something we should sort out at some point.  I know sparc does
> things differently in that area.)
> 
> But either way, the 0001:04:00.0 I/O aperture is only 4K in size, and
> apparently OF is telling us the ISA bridge has a 64K I/O BAR, so that
> explains the "no compatible bridge window" message.  We can't fit a
> 64K BAR in a 4K window.
> 
> Do you know if there's an ISA device behind that bridge?  If there
> is, and it only requires I/O ports in the 0-0xfff range, it probably
> still works in spite of the warning.

prtconf shows from OF that a serial port is there:

                        Node 0xf02991b8
                            ignore-cd:
                            reg:  00000000.000003f8.00000008
                            interrupts:  00000001
                            compatible: 'su16550' + 'su'
                            device_type:  'serial'
                            name:  'serial'


> But if it needs anything above 0xfff, or if we decided to be "smart"
> and not enable I/O on the bridge because we think the I/O BAR is
> invalid, it wouldn't work.
> 
> > V245 still has "no compatible bridge window" about ULI ISA Bridge:
> > 
> > [    4.522892] pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window
> 
> Again from https://bugzilla.kernel.org/show_bug.cgi?id\x117191,
> 
>   fire f0068b8c: PCI host bridge to bus 0000:02
>   pci_bus 0000:02: root bus resource [io  0x7f810000000-0x7f81fffffff] (bus address [0x0000-0xfffffff])
>   pci 0000:05:1e.0: can't claim BAR 0 [io  0x7f810000000-0x7f810000fff]: no compatible bridge window
> 
>   0000:04:00.0 PCI bridge: ULi M5249 HTT to PCI Bridge
>     Bus: primary\x04, secondary\x05, subordinate\x05
>     I/O behind bridge: 00001000-00001fff
>     Memory behind bridge: 00200000-03ffffff
>   0000:05:1c.0 ULi USB 1.1 Controller [OHCI]
>     Region 0: Memory at 01000000 (32-bit, non-prefetchable) [size\x16M]
>   0000:05:1c.1 ULi USB 1.1 Controller [OHCI]
>     Region 0: Memory at 02000000 (32-bit, non-prefetchable) [size\x16M]
>   0000:05:1c.3 ULi USB 2.0 Controller [EHCI]
>     Region 0: Memory at 00200000 (32-bit, non-prefetchable) [size=8K]
>   0000:05:1e.0 ISA bridge: ULi M1575 South Bridge
>     Region 0: [virtual] I/O ports at 7f810000000 [size=4K]
>   0000:05:1f.0 ULi M5229 IDE
>     Region 0: I/O ports at 1040 [sized]
>     Region 1: I/O ports at 1080 [sized]
>     Region 2: I/O ports at 10c0 [sized]
>     Region 3: I/O ports at 1100 [sized]
>     Region 4: I/O ports at 1000 [sized]
> 
> The 0000:05:1e.0 I/O BAR (BAR 0) contains 0 (at least according to
> OF).  This is clearly invalid because the bridge at 0000:04:00.0 will
> never route anything to bus 05 with an I/O bus address of 0, so
> nothing behind the 05:1e.0 ISA bridge should work.
> 
> If you still have the v4.18-rc1 logs from these boxes, would you mind
> attaching them to the bugzilla?

Found 4.17.0 and 4.18-rc2+git dmesgs for both T2000 and V245, attached 
there.

-- 
Meelis Roos (mroos@linux.ee)

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

end of thread, other threads:[~2018-07-06 19:49 UTC | newest]

Thread overview: 40+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-08 18:44 sparc64 PCI BAR allocation is still problematic Meelis Roos
2018-04-08 18:44 ` Meelis Roos
2018-04-08 21:21 ` David Miller
2018-04-08 21:21   ` David Miller
2018-04-09  3:00   ` Sinan Kaya
2018-04-09  3:00     ` Sinan Kaya
2018-04-09 10:47     ` Meelis Roos
2018-04-09 10:47       ` Meelis Roos
2018-04-09  3:23 ` Bjorn Helgaas
2018-04-09  3:23   ` Bjorn Helgaas
2018-04-09 14:30   ` Meelis Roos
2018-04-09 14:30     ` Meelis Roos
2018-04-10 17:34 ` Bjorn Helgaas
2018-04-10 17:34   ` Bjorn Helgaas
2018-04-10 18:45   ` Meelis Roos
2018-04-10 18:45     ` Meelis Roos
2018-04-10 18:56     ` Bjorn Helgaas
2018-04-10 18:56       ` Bjorn Helgaas
2018-04-11  7:59       ` Meelis Roos
2018-04-11  7:59         ` Meelis Roos
2018-04-11 13:33         ` Bjorn Helgaas
2018-04-11 13:33           ` Bjorn Helgaas
2018-04-11 14:40           ` Meelis Roos
2018-04-11 14:40             ` Meelis Roos
2018-04-11 20:01             ` Bjorn Helgaas
2018-04-11 20:01               ` Bjorn Helgaas
2018-04-11 20:25               ` Meelis Roos
2018-04-11 20:25                 ` Meelis Roos
2018-04-11 21:17                 ` Bjorn Helgaas
2018-04-11 21:17                   ` Bjorn Helgaas
2018-05-21 20:10         ` Bjorn Helgaas
2018-05-21 20:10           ` Bjorn Helgaas
2018-06-20 22:05 ` Bjorn Helgaas
2018-06-20 22:05   ` Bjorn Helgaas
2018-06-29 10:06   ` Meelis Roos
2018-06-29 10:06     ` Meelis Roos
2018-06-29 13:47     ` Bjorn Helgaas
2018-06-29 13:47       ` Bjorn Helgaas
2018-07-06 19:49       ` Meelis Roos
2018-07-06 19:49         ` Meelis Roos

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.