Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread Jesse Barnes
On Thursday, September 6, 2007 10:50 am Yinghai Lu wrote:
> On 9/6/07, Jesse Barnes <[EMAIL PROTECTED]> wrote:
> > The problem with doing that is it would mean reserving some address
> > space for mmconfig usage.  If the BIOS doesn't completely describe
> > all the reserved regions via e820 or similar (apparently a common
> > problem) we may end up making mmconfig overlap with another
> > important area... It's pretty hard not to trust the BIOS here
> > without completely replacing big chunks of it.
>
> for Family 10h, you can use mmio range high beyond than the RAM
> range...( just don't conflict with HT reserved range...)

Sure, and on some Intel platforms we can configure things similarly.  
But any such changes will be platform specific.  I'm just not sure 
allocating mmconfig space ourselves is worth the trouble.  Besides, 
most machines made in the last few years can do it, as long as we look 
at the right BIOS bits (i.e. MCFG not e820) and remember to disable PCI 
device decode when probing BAR sizes for example. :)

Jesse
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread Yinghai Lu
On 9/6/07, Jesse Barnes <[EMAIL PROTECTED]> wrote:
> The problem with doing that is it would mean reserving some address
> space for mmconfig usage.  If the BIOS doesn't completely describe all
> the reserved regions via e820 or similar (apparently a common problem)
> we may end up making mmconfig overlap with another important area...
> It's pretty hard not to trust the BIOS here without completely
> replacing big chunks of it.

for Family 10h, you can use mmio range high beyond than the RAM
range...( just don't conflict with HT reserved range...)

YH
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread Yinghai Lu
On 9/6/07, H. Peter Anvin <[EMAIL PROTECTED]> wrote:
> Well, to a first order of approximations, *all* northbridges have some
> sort of hardware registers to set mmconfig.  We were talking yesterday
> that it might just make more sense to have code for various northbridges
> to configure mmconfig directly, just like we do for IRQ routing (we
> can't trust the BIOS there, either.)

that is good idea.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread Jesse Barnes
On Thursday, September 6, 2007 2:48 am H. Peter Anvin wrote:
> Arne Georg Gleditsch wrote:
> > "Yinghai Lu" <[EMAIL PROTECTED]> writes:
> >> mmconfig is set in NB ( in new CPU), Do we still need to set
> >> mmconfig in SB like mcp55?
> >
> > I wasn't aware that the family 10h-chips had MSRs for setting the
> > mmconfig address space directly in the NB (core?).  Please
> > disregard my previous comment...
>
> Well, to a first order of approximations, *all* northbridges have
> some sort of hardware registers to set mmconfig.  We were talking
> yesterday that it might just make more sense to have code for various
> northbridges to configure mmconfig directly, just like we do for IRQ
> routing (we can't trust the BIOS there, either.)

The problem with doing that is it would mean reserving some address 
space for mmconfig usage.  If the BIOS doesn't completely describe all 
the reserved regions via e820 or similar (apparently a common problem) 
we may end up making mmconfig overlap with another important area...  
It's pretty hard not to trust the BIOS here without completely 
replacing big chunks of it.

Jesse
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread Arjan van de Ven
On Wed, 5 Sep 2007 17:00:27 +0200
"Andreas Herrmann" <[EMAIL PROTECTED]> wrote:

> On Wed, Sep 05, 2007 at 06:58:58AM +0100, H. Peter Anvin wrote:
> > Well, they don't add any functionality, do they?
> 
> They allow CF8/CFC to access ECS in cases where mmcfg is not working.
> 

just for the record; I have absolutely no problem with allowing the new
cf8 method (I'm assuming that it's obvious that if mmio is available,
that will be used instead for performance reasons). What I was/am
concerned/uncomfortable about is keying this off the CPU level rather
than a PCI level property; I much rather would see this keyed of, say,
the PCI ID of the root bridge, or ideally from some PCI property.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread H. Peter Anvin

Arne Georg Gleditsch wrote:

"Yinghai Lu" <[EMAIL PROTECTED]> writes:

mmconfig is set in NB ( in new CPU), Do we still need to set mmconfig
in SB like mcp55?


I wasn't aware that the family 10h-chips had MSRs for setting the
mmconfig address space directly in the NB (core?).  Please disregard
my previous comment...



Well, to a first order of approximations, *all* northbridges have some 
sort of hardware registers to set mmconfig.  We were talking yesterday 
that it might just make more sense to have code for various northbridges 
to configure mmconfig directly, just like we do for IRQ routing (we 
can't trust the BIOS there, either.)


-hpa
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread Arne Georg Gleditsch
"Yinghai Lu" <[EMAIL PROTECTED]> writes:
> mmconfig is set in NB ( in new CPU), Do we still need to set mmconfig
> in SB like mcp55?

I wasn't aware that the family 10h-chips had MSRs for setting the
mmconfig address space directly in the NB (core?).  Please disregard
my previous comment...

-- 
Arne.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread H. Peter Anvin

Arne Georg Gleditsch wrote:

Yinghai Lu [EMAIL PROTECTED] writes:

mmconfig is set in NB ( in new CPU), Do we still need to set mmconfig
in SB like mcp55?


I wasn't aware that the family 10h-chips had MSRs for setting the
mmconfig address space directly in the NB (core?).  Please disregard
my previous comment...



Well, to a first order of approximations, *all* northbridges have some 
sort of hardware registers to set mmconfig.  We were talking yesterday 
that it might just make more sense to have code for various northbridges 
to configure mmconfig directly, just like we do for IRQ routing (we 
can't trust the BIOS there, either.)


-hpa
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread Arjan van de Ven
On Wed, 5 Sep 2007 17:00:27 +0200
Andreas Herrmann [EMAIL PROTECTED] wrote:

 On Wed, Sep 05, 2007 at 06:58:58AM +0100, H. Peter Anvin wrote:
  Well, they don't add any functionality, do they?
 
 They allow CF8/CFC to access ECS in cases where mmcfg is not working.
 

just for the record; I have absolutely no problem with allowing the new
cf8 method (I'm assuming that it's obvious that if mmio is available,
that will be used instead for performance reasons). What I was/am
concerned/uncomfortable about is keying this off the CPU level rather
than a PCI level property; I much rather would see this keyed of, say,
the PCI ID of the root bridge, or ideally from some PCI property.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread Yinghai Lu
On 9/6/07, H. Peter Anvin [EMAIL PROTECTED] wrote:
 Well, to a first order of approximations, *all* northbridges have some
 sort of hardware registers to set mmconfig.  We were talking yesterday
 that it might just make more sense to have code for various northbridges
 to configure mmconfig directly, just like we do for IRQ routing (we
 can't trust the BIOS there, either.)

that is good idea.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread Yinghai Lu
On 9/6/07, Jesse Barnes [EMAIL PROTECTED] wrote:
 The problem with doing that is it would mean reserving some address
 space for mmconfig usage.  If the BIOS doesn't completely describe all
 the reserved regions via e820 or similar (apparently a common problem)
 we may end up making mmconfig overlap with another important area...
 It's pretty hard not to trust the BIOS here without completely
 replacing big chunks of it.

for Family 10h, you can use mmio range high beyond than the RAM
range...( just don't conflict with HT reserved range...)

YH
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-06 Thread Jesse Barnes
On Thursday, September 6, 2007 10:50 am Yinghai Lu wrote:
 On 9/6/07, Jesse Barnes [EMAIL PROTECTED] wrote:
  The problem with doing that is it would mean reserving some address
  space for mmconfig usage.  If the BIOS doesn't completely describe
  all the reserved regions via e820 or similar (apparently a common
  problem) we may end up making mmconfig overlap with another
  important area... It's pretty hard not to trust the BIOS here
  without completely replacing big chunks of it.

 for Family 10h, you can use mmio range high beyond than the RAM
 range...( just don't conflict with HT reserved range...)

Sure, and on some Intel platforms we can configure things similarly.  
But any such changes will be platform specific.  I'm just not sure 
allocating mmconfig space ourselves is worth the trouble.  Besides, 
most machines made in the last few years can do it, as long as we look 
at the right BIOS bits (i.e. MCFG not e820) and remember to disable PCI 
device decode when probing BAR sizes for example. :)

Jesse
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Yinghai Lu
On 9/5/07, Andreas Herrmann <[EMAIL PROTECTED]> wrote:
> On Wed, Sep 05, 2007 at 01:05:25PM +0200, Arne Georg Gleditsch wrote:
> > "H. Peter Anvin" <[EMAIL PROTECTED]> writes:
> > > You're missing the point.   How will the PCI bus transactions be
> > > different when using MMCONFIG versus your extended CF8 version?
> >
> > Conceivably this is useful if the IO hub does not support MMCONFIG
> > accesses.  The AMD 8111 does not, as far as I can see.  At least I
> > have an Opteron system where MMCONFIG is not supported, and I assume
> > it's because the 8111 doesn't provide it.  I don't know if this is
> > going to be a realistic scenario for Barcelona systems.

mmconfig is set in NB ( in new CPU), Do we still need to set mmconfig
in SB like mcp55?

YH
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Andreas Herrmann
On Wed, Sep 05, 2007 at 01:05:25PM +0200, Arne Georg Gleditsch wrote:
> "H. Peter Anvin" <[EMAIL PROTECTED]> writes:
> > You're missing the point.   How will the PCI bus transactions be
> > different when using MMCONFIG versus your extended CF8 version?
> 
> Conceivably this is useful if the IO hub does not support MMCONFIG
> accesses.  The AMD 8111 does not, as far as I can see.  At least I
> have an Opteron system where MMCONFIG is not supported, and I assume
> it's because the 8111 doesn't provide it.  I don't know if this is
> going to be a realistic scenario for Barcelona systems.
> 
> -- 
>   Arne.

Not sure how many AMD 8111 based systems are out there which are
upgradeable to Barcelona.

I guess the BIOS won't setup MCFG for systems with 8111/8131 
because both lack ECS MMIO Base Address Register. 
(Because 8111 and 8131 are not Mode2-PCI-X and PCI-express
capable.)

So if such a board is upgradeable, the way to access extended
config space of the northbridge functions is to use CF8/CFC
ECS access.


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company & Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Andreas Herrmann
On Wed, Sep 05, 2007 at 06:58:58AM +0100, H. Peter Anvin wrote:
> Well, they don't add any functionality, do they?

They allow CF8/CFC to access ECS in cases where mmcfg is not working.

> As such, I would agree with Andi -- we only 
> need one method which can (correctly) access the full configuration space,

Right, we need to be able to "correctly access the full config space".

> since it'll look the same on the bus anyway.

Sure, on the bus we should only see pci configuration requests in both
cases.


To summarize it:
- mmcfg needs support by BIOS ("PCI services in ACPI")
- CF8/CFC ECS access does not have that dependency
- For base configuration space access we already have two methods -
  type 1 and mmcfg  (type1 as fallback if there is no mmcfg).
- So what's the benefit in not allowing CF8/CFC ECS  access ("extended type1")
  if the hardware supports it and if mmcfg is not suitable?


One thing that comes out of that fruitless discussion:
For IBS Robert might have to implement CF8/CFC ECS access directly in the IBS
code, or in a new driver for ECS access of NB functions. Just to ensure that
IBS is working if there is no mmcfg. And this is kind of ugly.


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company & Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Arne Georg Gleditsch
"H. Peter Anvin" <[EMAIL PROTECTED]> writes:
> You're missing the point.   How will the PCI bus transactions be
> different when using MMCONFIG versus your extended CF8 version?

Conceivably this is useful if the IO hub does not support MMCONFIG
accesses.  The AMD 8111 does not, as far as I can see.  At least I
have an Opteron system where MMCONFIG is not supported, and I assume
it's because the 8111 doesn't provide it.  I don't know if this is
going to be a realistic scenario for Barcelona systems.

-- 
Arne.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Robert Richter
On 05.09.07 11:12:00, H. Peter Anvin wrote:
> >PCI Devices will not be the same on the bus since PCI read/write
> >functions will have different behavior. Without the patches you will
> >get an error when accessing ECS with CF8. We need ECS access for
> >patches that setups local interrupt vectors. This patches will be
> >released soon.
> 
> You're missing the point.   How will the PCI bus transactions be 
> different when using MMCONFIG versus your extended CF8 version?

Misunderstood you, with this patch there will be the same behavior,
that's the intention. There might be slightly differences in ordering
rules for read/write cycles. IO config cycles are serialized while
ordering rules for MMIO config cycles may result in unexpected
behavior for PCI devices on the bus.

-Robert

-- 
Advanced Micro Devices, Inc.
Operating System Research Center
email: [EMAIL PROTECTED]


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread H. Peter Anvin

Robert Richter wrote:

On 05.09.07 06:58:58, H. Peter Anvin wrote:


But at the moment there is no need for further discussion on this subject
because Andi refuses to add support for Barcelona CF8/CFC ECS access.

Well, they don't add any functionality, do they?  As such, I would agree 
with Andi -- we only need one method which can (correctly) access the 
full configuration space, since it'll look the same on the bus anyway.


PCI Devices will not be the same on the bus since PCI read/write
functions will have different behavior. Without the patches you will
get an error when accessing ECS with CF8. We need ECS access for
patches that setups local interrupt vectors. This patches will be
released soon.


You're missing the point.   How will the PCI bus transactions be 
different when using MMCONFIG versus your extended CF8 version?



Btw, this patch fixes also config space access with proc/sys fs and
lspci. I see this as an added functionality as well.


The latter implies the former.  Again, how does this differ from MMCONFIG?

-hpa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Robert Richter
On 05.09.07 06:58:58, H. Peter Anvin wrote:

> >But at the moment there is no need for further discussion on this subject
> >because Andi refuses to add support for Barcelona CF8/CFC ECS access.
> >
> 
> Well, they don't add any functionality, do they?  As such, I would agree 
> with Andi -- we only need one method which can (correctly) access the 
> full configuration space, since it'll look the same on the bus anyway.

PCI Devices will not be the same on the bus since PCI read/write
functions will have different behavior. Without the patches you will
get an error when accessing ECS with CF8. We need ECS access for
patches that setups local interrupt vectors. This patches will be
released soon.

Btw, this patch fixes also config space access with proc/sys fs and
lspci. I see this as an added functionality as well.

-Robert

-- 
Advanced Micro Devices, Inc.
Operating System Research Center
email: [EMAIL PROTECTED]


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread H. Peter Anvin

Andreas Herrmann wrote:

On Mon, Sep 03, 2007 at 04:33:19AM -0700, Arjan van de Ven wrote:

On Mon, 3 Sep 2007 11:17:18 +0200
"Andreas Herrmann" <[EMAIL PROTECTED]> wrote:
\> 

Do you see any other issues besides the naming of the bit?

I wonder if we should key this off a PCI ID of the chipset rather than
the cpu id... I mean, how sure are you that all via chipsets connected
to the barcelona cpu will deal well?


In general they should be able to deal with those accesses. They result in
extended type 0/1 configuration cycles which are defined already in HT I/O Link
Spec 1.10. So if unexpectedly problems arise then it is time to add a pci-quirk.

But at the moment there is no need for further discussion on this subject
because Andi refuses to add support for Barcelona CF8/CFC ECS access.



Well, they don't add any functionality, do they?  As such, I would agree 
with Andi -- we only need one method which can (correctly) access the 
full configuration space, since it'll look the same on the bus anyway.


-hpa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread H. Peter Anvin

Andreas Herrmann wrote:

On Mon, Sep 03, 2007 at 04:33:19AM -0700, Arjan van de Ven wrote:

On Mon, 3 Sep 2007 11:17:18 +0200
Andreas Herrmann [EMAIL PROTECTED] wrote:
\ 

Do you see any other issues besides the naming of the bit?

I wonder if we should key this off a PCI ID of the chipset rather than
the cpu id... I mean, how sure are you that all via chipsets connected
to the barcelona cpu will deal well?


In general they should be able to deal with those accesses. They result in
extended type 0/1 configuration cycles which are defined already in HT I/O Link
Spec 1.10. So if unexpectedly problems arise then it is time to add a pci-quirk.

But at the moment there is no need for further discussion on this subject
because Andi refuses to add support for Barcelona CF8/CFC ECS access.



Well, they don't add any functionality, do they?  As such, I would agree 
with Andi -- we only need one method which can (correctly) access the 
full configuration space, since it'll look the same on the bus anyway.


-hpa

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Robert Richter
On 05.09.07 06:58:58, H. Peter Anvin wrote:

 But at the moment there is no need for further discussion on this subject
 because Andi refuses to add support for Barcelona CF8/CFC ECS access.
 
 
 Well, they don't add any functionality, do they?  As such, I would agree 
 with Andi -- we only need one method which can (correctly) access the 
 full configuration space, since it'll look the same on the bus anyway.

PCI Devices will not be the same on the bus since PCI read/write
functions will have different behavior. Without the patches you will
get an error when accessing ECS with CF8. We need ECS access for
patches that setups local interrupt vectors. This patches will be
released soon.

Btw, this patch fixes also config space access with proc/sys fs and
lspci. I see this as an added functionality as well.

-Robert

-- 
Advanced Micro Devices, Inc.
Operating System Research Center
email: [EMAIL PROTECTED]


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread H. Peter Anvin

Robert Richter wrote:

On 05.09.07 06:58:58, H. Peter Anvin wrote:


But at the moment there is no need for further discussion on this subject
because Andi refuses to add support for Barcelona CF8/CFC ECS access.

Well, they don't add any functionality, do they?  As such, I would agree 
with Andi -- we only need one method which can (correctly) access the 
full configuration space, since it'll look the same on the bus anyway.


PCI Devices will not be the same on the bus since PCI read/write
functions will have different behavior. Without the patches you will
get an error when accessing ECS with CF8. We need ECS access for
patches that setups local interrupt vectors. This patches will be
released soon.


You're missing the point.   How will the PCI bus transactions be 
different when using MMCONFIG versus your extended CF8 version?



Btw, this patch fixes also config space access with proc/sys fs and
lspci. I see this as an added functionality as well.


The latter implies the former.  Again, how does this differ from MMCONFIG?

-hpa

-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Robert Richter
On 05.09.07 11:12:00, H. Peter Anvin wrote:
 PCI Devices will not be the same on the bus since PCI read/write
 functions will have different behavior. Without the patches you will
 get an error when accessing ECS with CF8. We need ECS access for
 patches that setups local interrupt vectors. This patches will be
 released soon.
 
 You're missing the point.   How will the PCI bus transactions be 
 different when using MMCONFIG versus your extended CF8 version?

Misunderstood you, with this patch there will be the same behavior,
that's the intention. There might be slightly differences in ordering
rules for read/write cycles. IO config cycles are serialized while
ordering rules for MMIO config cycles may result in unexpected
behavior for PCI devices on the bus.

-Robert

-- 
Advanced Micro Devices, Inc.
Operating System Research Center
email: [EMAIL PROTECTED]


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Arne Georg Gleditsch
H. Peter Anvin [EMAIL PROTECTED] writes:
 You're missing the point.   How will the PCI bus transactions be
 different when using MMCONFIG versus your extended CF8 version?

Conceivably this is useful if the IO hub does not support MMCONFIG
accesses.  The AMD 8111 does not, as far as I can see.  At least I
have an Opteron system where MMCONFIG is not supported, and I assume
it's because the 8111 doesn't provide it.  I don't know if this is
going to be a realistic scenario for Barcelona systems.

-- 
Arne.
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Andreas Herrmann
On Wed, Sep 05, 2007 at 06:58:58AM +0100, H. Peter Anvin wrote:
 Well, they don't add any functionality, do they?

They allow CF8/CFC to access ECS in cases where mmcfg is not working.

 As such, I would agree with Andi -- we only 
 need one method which can (correctly) access the full configuration space,

Right, we need to be able to correctly access the full config space.

 since it'll look the same on the bus anyway.

Sure, on the bus we should only see pci configuration requests in both
cases.


To summarize it:
- mmcfg needs support by BIOS (PCI services in ACPI)
- CF8/CFC ECS access does not have that dependency
- For base configuration space access we already have two methods -
  type 1 and mmcfg  (type1 as fallback if there is no mmcfg).
- So what's the benefit in not allowing CF8/CFC ECS  access (extended type1)
  if the hardware supports it and if mmcfg is not suitable?


One thing that comes out of that fruitless discussion:
For IBS Robert might have to implement CF8/CFC ECS access directly in the IBS
code, or in a new driver for ECS access of NB functions. Just to ensure that
IBS is working if there is no mmcfg. And this is kind of ugly.


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company  Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Andreas Herrmann
On Wed, Sep 05, 2007 at 01:05:25PM +0200, Arne Georg Gleditsch wrote:
 H. Peter Anvin [EMAIL PROTECTED] writes:
  You're missing the point.   How will the PCI bus transactions be
  different when using MMCONFIG versus your extended CF8 version?
 
 Conceivably this is useful if the IO hub does not support MMCONFIG
 accesses.  The AMD 8111 does not, as far as I can see.  At least I
 have an Opteron system where MMCONFIG is not supported, and I assume
 it's because the 8111 doesn't provide it.  I don't know if this is
 going to be a realistic scenario for Barcelona systems.
 
 -- 
   Arne.

Not sure how many AMD 8111 based systems are out there which are
upgradeable to Barcelona.

I guess the BIOS won't setup MCFG for systems with 8111/8131 
because both lack ECS MMIO Base Address Register. 
(Because 8111 and 8131 are not Mode2-PCI-X and PCI-express
capable.)

So if such a board is upgradeable, the way to access extended
config space of the northbridge functions is to use CF8/CFC
ECS access.


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company  Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-05 Thread Yinghai Lu
On 9/5/07, Andreas Herrmann [EMAIL PROTECTED] wrote:
 On Wed, Sep 05, 2007 at 01:05:25PM +0200, Arne Georg Gleditsch wrote:
  H. Peter Anvin [EMAIL PROTECTED] writes:
   You're missing the point.   How will the PCI bus transactions be
   different when using MMCONFIG versus your extended CF8 version?
 
  Conceivably this is useful if the IO hub does not support MMCONFIG
  accesses.  The AMD 8111 does not, as far as I can see.  At least I
  have an Opteron system where MMCONFIG is not supported, and I assume
  it's because the 8111 doesn't provide it.  I don't know if this is
  going to be a realistic scenario for Barcelona systems.

mmconfig is set in NB ( in new CPU), Do we still need to set mmconfig
in SB like mcp55?

YH
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-04 Thread Andi Kleen

> for setting mmio to accessing pci conf space, need to set sth on MSR.
> So the BIOS need to make it right..., otherwise OS need to set that
> when booting every cpu...to workaround it to make MMCONFIG working.

Yes the BIOS has to get some things right. After all that's the BIOS job.
And the BIOS knows much more about the hardware than the generic
kernel.  x86 Linux is not trying to be a BIOS too.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-04 Thread Yinghai Lu
On 9/3/07, Andi Kleen <[EMAIL PROTECTED]> wrote:
> On Monday 03 September 2007 13:27, Robert Richter wrote:
>
> > On 03.09.07 12:15:03, Andi Kleen wrote:
> > > > But it is needed for some devices for full functionality.
> > >
> > > Examples? I can only think of PCI express error reporting, which
> > > few drivers implement anyways and isn't really a show stopper
> > > if it doesn't work. Besides I would be surprised if it even works
> > > on the cheap desktop boards which have MCFG less BIOS.
> >
> > As you say, there are BIOSs that do not support MMCONFIG. Thus, CF8
> > access is not only a workaround to boot a system.
>
> We're talking about accessing the extended part of config spaces. I'm not
> aware of any case where that is required to boot a system.

in the bios for the new cpu, CF8 is used for ext conf space
accessing...(for ht and mem init).

for setting mmio to accessing pci conf space, need to set sth on MSR.
So the BIOS need to make it right..., otherwise OS need to set that
when booting every cpu...to workaround it to make MMCONFIG working.

YH
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-04 Thread Yinghai Lu
On 9/3/07, Andi Kleen [EMAIL PROTECTED] wrote:
 On Monday 03 September 2007 13:27, Robert Richter wrote:

  On 03.09.07 12:15:03, Andi Kleen wrote:
But it is needed for some devices for full functionality.
  
   Examples? I can only think of PCI express error reporting, which
   few drivers implement anyways and isn't really a show stopper
   if it doesn't work. Besides I would be surprised if it even works
   on the cheap desktop boards which have MCFG less BIOS.
 
  As you say, there are BIOSs that do not support MMCONFIG. Thus, CF8
  access is not only a workaround to boot a system.

 We're talking about accessing the extended part of config spaces. I'm not
 aware of any case where that is required to boot a system.

in the bios for the new cpu, CF8 is used for ext conf space
accessing...(for ht and mem init).

for setting mmio to accessing pci conf space, need to set sth on MSR.
So the BIOS need to make it right..., otherwise OS need to set that
when booting every cpu...to workaround it to make MMCONFIG working.

YH
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-04 Thread Andi Kleen

 for setting mmio to accessing pci conf space, need to set sth on MSR.
 So the BIOS need to make it right..., otherwise OS need to set that
 when booting every cpu...to workaround it to make MMCONFIG working.

Yes the BIOS has to get some things right. After all that's the BIOS job.
And the BIOS knows much more about the hardware than the generic
kernel.  x86 Linux is not trying to be a BIOS too.

-Andi
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andreas Herrmann
On Mon, Sep 03, 2007 at 04:33:19AM -0700, Arjan van de Ven wrote:
> On Mon, 3 Sep 2007 11:17:18 +0200
> "Andreas Herrmann" <[EMAIL PROTECTED]> wrote:
> \> 
> > Do you see any other issues besides the naming of the bit?
> 
> I wonder if we should key this off a PCI ID of the chipset rather than
> the cpu id... I mean, how sure are you that all via chipsets connected
> to the barcelona cpu will deal well?

In general they should be able to deal with those accesses. They result in
extended type 0/1 configuration cycles which are defined already in HT I/O Link
Spec 1.10. So if unexpectedly problems arise then it is time to add a pci-quirk.

But at the moment there is no need for further discussion on this subject
because Andi refuses to add support for Barcelona CF8/CFC ECS access.


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company & Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andi Kleen
On Monday 03 September 2007 15:48, Robert Richter wrote:
> Andi,
>
> On 03.09.07 14:48:41, Andi Kleen wrote:
> > > As said above, I do not see CF8 access as a workaround. I expect my
> > > system to work in the same way also if MMCONFIG is not available.
> >
> > It should boot sure, but exotic stuff not working is not a major issue
>
> It is not only about booting the system without MMCONFIG, it is also
> about using the system

There are limits on how many BIOS bug workaround (and all this
patch kit is nothing more than a elaborate BIOS bug workaround) we can do.
IMHO you're far exceeding the threshold.

Better would be to invest that energy to get the BIOSes fixed.

> . For this PCI ECS CF8 access is needed.

AER and IBS are all totally optional features and the systems
will be completely usable without them.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Robert Richter
Andi,

On 03.09.07 14:48:41, Andi Kleen wrote:

> > As said above, I do not see CF8 access as a workaround. I expect my
> > system to work in the same way also if MMCONFIG is not available.
>
> It should boot sure, but exotic stuff not working is not a major issue

It is not only about booting the system without MMCONFIG, it is also
about using the system. For this PCI ECS CF8 access is needed. So why
not adding support for this? Excluding major parts of CPU registers
when using CF8 base access only will cause writing code to workaround
this. Not very nice to handle.

-Robert

-- 
AMD Saxony, Dresden, Germany
Operating System Research Center
email: [EMAIL PROTECTED]


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andi Kleen

> And unfortunately this is too often the case.

On Barcelona systems? 

> See for instance Robert Hancock's patch http://lkml.org/lkml/2007/5/30/2
> to enable MMCONFIG access in certain cases where BIOS did not correctly
> set up MCFG. Why are people working on such stuff if it is not serious
> enough?

I don't know why. I'm just not aware of any serious problems that
are solved by extended config space access.

Originally we had trouble because MCFG was wrong and the systems
would not boot. Also there is one class of systems (some x86 Apples) 
where cf8 doesn't work, but MMCONFIG does.
But that's all specific to older systems. 

> Barcelona just adds another way to access PCI ECS (besides MMCONFIG) and I
> can't understand why this shouldn't be supported by Linux.

It will be supported when the BIOS gets it right.

> Do you have any suggestion how else to add support for PCI ECS access via
> IO instructions for Barcelona?

My suggestion is to rely on MMCONFIG for this.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andi Kleen
On Monday 03 September 2007 13:27, Robert Richter wrote:

> On 03.09.07 12:15:03, Andi Kleen wrote:
> > > But it is needed for some devices for full functionality.
> >
> > Examples? I can only think of PCI express error reporting, which
> > few drivers implement anyways and isn't really a show stopper
> > if it doesn't work. Besides I would be surprised if it even works
> > on the cheap desktop boards which have MCFG less BIOS.
>
> As you say, there are BIOSs that do not support MMCONFIG. Thus, CF8
> access is not only a workaround to boot a system. 

We're talking about accessing the extended part of config spaces. I'm not 
aware of any case where that is required to boot a system.

> Recent (10h) and upcomming CPU families make heavy use of PCI ext cfg
> space for certain CPU features. Setup of the extended interupt local
> vector table for IBS (used with Perfmon2) is one example. CPU
> designers do not take care anymore if a feature is in the base or
> extended config space. So access to PCI ECS is essential.

I don't think it's a big issue if IBS doesn't work on a few buggy BIOS
(which should hopefully become fewer anyways because Vista is out
which actually uses MCFG) 


> > > IMHO it is best to try to use MMCONFIG if it's working and to use
> > > a fallback (e.g. CF8 ECS access for family 0x10) if available.
> >
> > We only put in workarounds if there is a serious problem otherwise (e.g.
> > not booting etc.). I just don't see this here.
>
> As said above, I do not see CF8 access as a workaround. I expect my
> system to work in the same way also if MMCONFIG is not available.

It should boot sure, but exotic stuff not working is not a major issue

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Arjan van de Ven
On Mon, 3 Sep 2007 11:17:18 +0200
"Andreas Herrmann" <[EMAIL PROTECTED]> wrote:
\> 
> Do you see any other issues besides the naming of the bit?

I wonder if we should key this off a PCI ID of the chipset rather than
the cpu id... I mean, how sure are you that all via chipsets connected
to the barcelona cpu will deal well?
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andreas Herrmann
On Mon, Sep 03, 2007 at 12:15:03PM +0200, Andi Kleen wrote:
> 
> > But it is needed for some devices for full functionality.
> 
> Examples? I can only think of PCI express error reporting, which
> few drivers implement anyways and isn't really a show stopper
> if it doesn't work. Besides I would be surprised if it even works
> on the cheap desktop boards which have MCFG less BIOS.

Sure, AER is one example.
I don't see why all other stuff in ECS is not worth reading or writing.
And I am not sure whether all server boards set up MCFG in the correct way.

> > E.g. for perfmon (family 0x10/extended inerrupts) extended config space
> > access is a prerequisite.
> 
> How so? 

E.g. access to the IBS control register needs ECS access on Barcelona.
I guess we have to wait until Robert sends his patches which contain
all details.

> >
> > IMHO it is best to try to use MMCONFIG if it's working and to use
> > a fallback (e.g. CF8 ECS access for family 0x10) if available.
> 
> We only put in workarounds if there is a serious problem otherwise (e.g. not 
> booting etc.). I just don't see this here.

The serious problem is you can't access PCI ECS if the BIOS does
not take care to (correctly) set up MCFG.
And unfortunately this is too often the case.

See for instance Robert Hancock's patch http://lkml.org/lkml/2007/5/30/2
to enable MMCONFIG access in certain cases where BIOS did not correctly
set up MCFG. Why are people working on such stuff if it is not serious
enough?

Barcelona just adds another way to access PCI ECS (besides MMCONFIG) and I
can't understand why this shouldn't be supported by Linux.

Do you have any suggestion how else to add support for PCI ECS access via
IO instructions for Barcelona?


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company & Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Robert Richter
Andi,

On 03.09.07 12:15:03, Andi Kleen wrote:

> > But it is needed for some devices for full functionality.
> 
> Examples? I can only think of PCI express error reporting, which
> few drivers implement anyways and isn't really a show stopper
> if it doesn't work. Besides I would be surprised if it even works
> on the cheap desktop boards which have MCFG less BIOS.

As you say, there are BIOSs that do not support MMCONFIG. Thus, CF8
access is not only a workaround to boot a system. There are systems
that really use CF8 access. Also, MMCONFIG depends on many conditions
that must match. Cfg space must be mapped, the memory must be E820
reserved, MCFG table must be set, access to MMCONFIG must be enabled
for the device. Many things that may fail and can partly not be fixed
by the OS.

> > E.g. for perfmon (family 0x10/extended inerrupts) extended config space
> > access is a prerequisite.
> 
> How so? 

Recent (10h) and upcomming CPU families make heavy use of PCI ext cfg
space for certain CPU features. Setup of the extended interupt local
vector table for IBS (used with Perfmon2) is one example. CPU
designers do not take care anymore if a feature is in the base or
extended config space. So access to PCI ECS is essential.

> > IMHO it is best to try to use MMCONFIG if it's working and to use
> > a fallback (e.g. CF8 ECS access for family 0x10) if available.
> 
> We only put in workarounds if there is a serious problem otherwise (e.g. not 
> booting etc.). I just don't see this here.

As said above, I do not see CF8 access as a workaround. I expect my
system to work in the same way also if MMCONFIG is not available.

-Robert

-- 
AMD Saxony, Dresden, Germany
Operating System Research Center
email: [EMAIL PROTECTED]


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andi Kleen

> But it is needed for some devices for full functionality.

Examples? I can only think of PCI express error reporting, which
few drivers implement anyways and isn't really a show stopper
if it doesn't work. Besides I would be surprised if it even works
on the cheap desktop boards which have MCFG less BIOS.

> E.g. for perfmon (family 0x10/extended inerrupts) extended config space
> access is a prerequisite.

How so? 


>
> IMHO it is best to try to use MMCONFIG if it's working and to use
> a fallback (e.g. CF8 ECS access for family 0x10) if available.

We only put in workarounds if there is a serious problem otherwise (e.g. not 
booting etc.). I just don't see this here.

-Andi
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andreas Herrmann
On Mon, Sep 03, 2007 at 01:31:57AM -0700, Arjan van de Ven wrote:
> On Mon, 03 Sep 2007 10:17:39 +0200
> "Robert Richter" <[EMAIL PROTECTED]> wrote:
> 
> > This patch implements PCI extended configuration space access for
> > AMD's Barcelona CPUs. It extends the method using CF8/CFC IO
> > addresses. An x86 capability bit has been introduced that is set for
> > CPUs supporting PCI extended config space accesses.
> > 
> 
> 
> No offence but this feels a bit wrong to me.
> 
> PCI is sort of more a chipset property than a cpu property (I realize
> that this boundary is changing of course).
> 
> I'd like to ask you to at least rename some of the feature bits to
> indicate that the extended config space is for the IO access method;
> after all Linux already supports the MMIO method for accessing extended
> config space since a really long time; not marking the feature bit to
> indicate it's the IO method is going to be extremely confusing and
> cause bugs I bet.

Hmm, yes the naming  of the CPU capability bit seems wrong.
Guess, Robert will fix it.

> (we probably need a global function that drivers can use to find out of
> extended config space is accessible; however that for sure isn't a CPU
> capability bit.

IMHO this is already available. Just check pci_dev->cfg_size which
is 256 if PCI ECS access is not possible (see pci_cfg_space_size()).

> However the current naming etc sort of makes me fear
> drivers will abuse this thing while thinking it's the right API)

Do you see any other issues besides the naming of the bit?


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company & Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andreas Herrmann
On Sat, Sep 01, 2007 at 12:11:52PM +0200, Andi Kleen wrote:
> On Thursday 30 August 2007 19:43:14 Robert Richter wrote:
> > This patch implements PCI extended configuration space access for
> > AMD's Barcelona CPUs. It extends the method using CF8/CFC IO
> > addresses. An x86 capability bit has been introduced that is set for
> > CPUs supporting PCI extended config space accesses.
> 
> We shouldn't need this because extended config space should work
> here and Linux should use it 
> (especially after we added the ugly Barcelona workaround into  that code) 

This patch is needed for all buggy BIOSes that don't correctly set up MCFG.

> The only exception would be if the user disables MMCONFIG in CONFIG, but 
> that's
> their own fault then.

No, as you stated yourself there are two exceptions. And the more serious one 
is the
BIOS issue.

> Ok there might be buggy BIOS around with no or no usable MCFG table, but since
> extended config space is not really a critical feature that's not a big issue.

Not sure why you assume extended config space (ECS) is not critical.
Ok, for a lot of stuff it does not matter.
But it is needed for some devices for full functionality.
E.g. for perfmon (family 0x10/extended inerrupts) extended config space access
is a prerequisite.

> So I don't think we want this special case code at all and should
> just rely on MMCONFIG.

Rely on something unreliable (due to buggy/incomplete BIOS)?
I don't think we should do this.

IMHO it is best to try to use MMCONFIG if it's working and to use
a fallback (e.g. CF8 ECS access for family 0x10) if available.


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company & Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andreas Herrmann
On Sat, Sep 01, 2007 at 12:11:52PM +0200, Andi Kleen wrote:
 On Thursday 30 August 2007 19:43:14 Robert Richter wrote:
  This patch implements PCI extended configuration space access for
  AMD's Barcelona CPUs. It extends the method using CF8/CFC IO
  addresses. An x86 capability bit has been introduced that is set for
  CPUs supporting PCI extended config space accesses.
 
 We shouldn't need this because extended config space should work
 here and Linux should use it 
 (especially after we added the ugly Barcelona workaround into  that code) 

This patch is needed for all buggy BIOSes that don't correctly set up MCFG.

 The only exception would be if the user disables MMCONFIG in CONFIG, but 
 that's
 their own fault then.

No, as you stated yourself there are two exceptions. And the more serious one 
is the
BIOS issue.

 Ok there might be buggy BIOS around with no or no usable MCFG table, but since
 extended config space is not really a critical feature that's not a big issue.

Not sure why you assume extended config space (ECS) is not critical.
Ok, for a lot of stuff it does not matter.
But it is needed for some devices for full functionality.
E.g. for perfmon (family 0x10/extended inerrupts) extended config space access
is a prerequisite.

 So I don't think we want this special case code at all and should
 just rely on MMCONFIG.

Rely on something unreliable (due to buggy/incomplete BIOS)?
I don't think we should do this.

IMHO it is best to try to use MMCONFIG if it's working and to use
a fallback (e.g. CF8 ECS access for family 0x10) if available.


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company  Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andreas Herrmann
On Mon, Sep 03, 2007 at 01:31:57AM -0700, Arjan van de Ven wrote:
 On Mon, 03 Sep 2007 10:17:39 +0200
 Robert Richter [EMAIL PROTECTED] wrote:
 
  This patch implements PCI extended configuration space access for
  AMD's Barcelona CPUs. It extends the method using CF8/CFC IO
  addresses. An x86 capability bit has been introduced that is set for
  CPUs supporting PCI extended config space accesses.
  
 
 
 No offence but this feels a bit wrong to me.
 
 PCI is sort of more a chipset property than a cpu property (I realize
 that this boundary is changing of course).
 
 I'd like to ask you to at least rename some of the feature bits to
 indicate that the extended config space is for the IO access method;
 after all Linux already supports the MMIO method for accessing extended
 config space since a really long time; not marking the feature bit to
 indicate it's the IO method is going to be extremely confusing and
 cause bugs I bet.

Hmm, yes the naming  of the CPU capability bit seems wrong.
Guess, Robert will fix it.

 (we probably need a global function that drivers can use to find out of
 extended config space is accessible; however that for sure isn't a CPU
 capability bit.

IMHO this is already available. Just check pci_dev-cfg_size which
is 256 if PCI ECS access is not possible (see pci_cfg_space_size()).

 However the current naming etc sort of makes me fear
 drivers will abuse this thing while thinking it's the right API)

Do you see any other issues besides the naming of the bit?


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company  Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andi Kleen

 But it is needed for some devices for full functionality.

Examples? I can only think of PCI express error reporting, which
few drivers implement anyways and isn't really a show stopper
if it doesn't work. Besides I would be surprised if it even works
on the cheap desktop boards which have MCFG less BIOS.

 E.g. for perfmon (family 0x10/extended inerrupts) extended config space
 access is a prerequisite.

How so? 



 IMHO it is best to try to use MMCONFIG if it's working and to use
 a fallback (e.g. CF8 ECS access for family 0x10) if available.

We only put in workarounds if there is a serious problem otherwise (e.g. not 
booting etc.). I just don't see this here.

-Andi
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Robert Richter
Andi,

On 03.09.07 12:15:03, Andi Kleen wrote:

  But it is needed for some devices for full functionality.
 
 Examples? I can only think of PCI express error reporting, which
 few drivers implement anyways and isn't really a show stopper
 if it doesn't work. Besides I would be surprised if it even works
 on the cheap desktop boards which have MCFG less BIOS.

As you say, there are BIOSs that do not support MMCONFIG. Thus, CF8
access is not only a workaround to boot a system. There are systems
that really use CF8 access. Also, MMCONFIG depends on many conditions
that must match. Cfg space must be mapped, the memory must be E820
reserved, MCFG table must be set, access to MMCONFIG must be enabled
for the device. Many things that may fail and can partly not be fixed
by the OS.

  E.g. for perfmon (family 0x10/extended inerrupts) extended config space
  access is a prerequisite.
 
 How so? 

Recent (10h) and upcomming CPU families make heavy use of PCI ext cfg
space for certain CPU features. Setup of the extended interupt local
vector table for IBS (used with Perfmon2) is one example. CPU
designers do not take care anymore if a feature is in the base or
extended config space. So access to PCI ECS is essential.

  IMHO it is best to try to use MMCONFIG if it's working and to use
  a fallback (e.g. CF8 ECS access for family 0x10) if available.
 
 We only put in workarounds if there is a serious problem otherwise (e.g. not 
 booting etc.). I just don't see this here.

As said above, I do not see CF8 access as a workaround. I expect my
system to work in the same way also if MMCONFIG is not available.

-Robert

-- 
AMD Saxony, Dresden, Germany
Operating System Research Center
email: [EMAIL PROTECTED]


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andreas Herrmann
On Mon, Sep 03, 2007 at 12:15:03PM +0200, Andi Kleen wrote:
 
  But it is needed for some devices for full functionality.
 
 Examples? I can only think of PCI express error reporting, which
 few drivers implement anyways and isn't really a show stopper
 if it doesn't work. Besides I would be surprised if it even works
 on the cheap desktop boards which have MCFG less BIOS.

Sure, AER is one example.
I don't see why all other stuff in ECS is not worth reading or writing.
And I am not sure whether all server boards set up MCFG in the correct way.

  E.g. for perfmon (family 0x10/extended inerrupts) extended config space
  access is a prerequisite.
 
 How so? 

E.g. access to the IBS control register needs ECS access on Barcelona.
I guess we have to wait until Robert sends his patches which contain
all details.

 
  IMHO it is best to try to use MMCONFIG if it's working and to use
  a fallback (e.g. CF8 ECS access for family 0x10) if available.
 
 We only put in workarounds if there is a serious problem otherwise (e.g. not 
 booting etc.). I just don't see this here.

The serious problem is you can't access PCI ECS if the BIOS does
not take care to (correctly) set up MCFG.
And unfortunately this is too often the case.

See for instance Robert Hancock's patch http://lkml.org/lkml/2007/5/30/2
to enable MMCONFIG access in certain cases where BIOS did not correctly
set up MCFG. Why are people working on such stuff if it is not serious
enough?

Barcelona just adds another way to access PCI ECS (besides MMCONFIG) and I
can't understand why this shouldn't be supported by Linux.

Do you have any suggestion how else to add support for PCI ECS access via
IO instructions for Barcelona?


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company  Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Arjan van de Ven
On Mon, 3 Sep 2007 11:17:18 +0200
Andreas Herrmann [EMAIL PROTECTED] wrote:
\ 
 Do you see any other issues besides the naming of the bit?

I wonder if we should key this off a PCI ID of the chipset rather than
the cpu id... I mean, how sure are you that all via chipsets connected
to the barcelona cpu will deal well?
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andi Kleen

 And unfortunately this is too often the case.

On Barcelona systems? 

 See for instance Robert Hancock's patch http://lkml.org/lkml/2007/5/30/2
 to enable MMCONFIG access in certain cases where BIOS did not correctly
 set up MCFG. Why are people working on such stuff if it is not serious
 enough?

I don't know why. I'm just not aware of any serious problems that
are solved by extended config space access.

Originally we had trouble because MCFG was wrong and the systems
would not boot. Also there is one class of systems (some x86 Apples) 
where cf8 doesn't work, but MMCONFIG does.
But that's all specific to older systems. 

 Barcelona just adds another way to access PCI ECS (besides MMCONFIG) and I
 can't understand why this shouldn't be supported by Linux.

It will be supported when the BIOS gets it right.

 Do you have any suggestion how else to add support for PCI ECS access via
 IO instructions for Barcelona?

My suggestion is to rely on MMCONFIG for this.

-Andi
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andi Kleen
On Monday 03 September 2007 13:27, Robert Richter wrote:

 On 03.09.07 12:15:03, Andi Kleen wrote:
   But it is needed for some devices for full functionality.
 
  Examples? I can only think of PCI express error reporting, which
  few drivers implement anyways and isn't really a show stopper
  if it doesn't work. Besides I would be surprised if it even works
  on the cheap desktop boards which have MCFG less BIOS.

 As you say, there are BIOSs that do not support MMCONFIG. Thus, CF8
 access is not only a workaround to boot a system. 

We're talking about accessing the extended part of config spaces. I'm not 
aware of any case where that is required to boot a system.

 Recent (10h) and upcomming CPU families make heavy use of PCI ext cfg
 space for certain CPU features. Setup of the extended interupt local
 vector table for IBS (used with Perfmon2) is one example. CPU
 designers do not take care anymore if a feature is in the base or
 extended config space. So access to PCI ECS is essential.

I don't think it's a big issue if IBS doesn't work on a few buggy BIOS
(which should hopefully become fewer anyways because Vista is out
which actually uses MCFG) 


   IMHO it is best to try to use MMCONFIG if it's working and to use
   a fallback (e.g. CF8 ECS access for family 0x10) if available.
 
  We only put in workarounds if there is a serious problem otherwise (e.g.
  not booting etc.). I just don't see this here.

 As said above, I do not see CF8 access as a workaround. I expect my
 system to work in the same way also if MMCONFIG is not available.

It should boot sure, but exotic stuff not working is not a major issue

-Andi
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Robert Richter
Andi,

On 03.09.07 14:48:41, Andi Kleen wrote:

  As said above, I do not see CF8 access as a workaround. I expect my
  system to work in the same way also if MMCONFIG is not available.

 It should boot sure, but exotic stuff not working is not a major issue

It is not only about booting the system without MMCONFIG, it is also
about using the system. For this PCI ECS CF8 access is needed. So why
not adding support for this? Excluding major parts of CPU registers
when using CF8 base access only will cause writing code to workaround
this. Not very nice to handle.

-Robert

-- 
AMD Saxony, Dresden, Germany
Operating System Research Center
email: [EMAIL PROTECTED]


-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andi Kleen
On Monday 03 September 2007 15:48, Robert Richter wrote:
 Andi,

 On 03.09.07 14:48:41, Andi Kleen wrote:
   As said above, I do not see CF8 access as a workaround. I expect my
   system to work in the same way also if MMCONFIG is not available.
 
  It should boot sure, but exotic stuff not working is not a major issue

 It is not only about booting the system without MMCONFIG, it is also
 about using the system

There are limits on how many BIOS bug workaround (and all this
patch kit is nothing more than a elaborate BIOS bug workaround) we can do.
IMHO you're far exceeding the threshold.

Better would be to invest that energy to get the BIOSes fixed.

 . For this PCI ECS CF8 access is needed.

AER and IBS are all totally optional features and the systems
will be completely usable without them.

-Andi
-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [patches] [patch 3/5] x86: Add PCI extended config space access for AMD Barcelona

2007-09-03 Thread Andreas Herrmann
On Mon, Sep 03, 2007 at 04:33:19AM -0700, Arjan van de Ven wrote:
 On Mon, 3 Sep 2007 11:17:18 +0200
 Andreas Herrmann [EMAIL PROTECTED] wrote:
 \ 
  Do you see any other issues besides the naming of the bit?
 
 I wonder if we should key this off a PCI ID of the chipset rather than
 the cpu id... I mean, how sure are you that all via chipsets connected
 to the barcelona cpu will deal well?

In general they should be able to deal with those accesses. They result in
extended type 0/1 configuration cycles which are defined already in HT I/O Link
Spec 1.10. So if unexpectedly problems arise then it is time to add a pci-quirk.

But at the moment there is no need for further discussion on this subject
because Andi refuses to add support for Barcelona CF8/CFC ECS access.


Regards,

Andreas

-- 
Operating | AMD Saxony Limited Liability Company  Co. KG,
  System  | Wilschdorfer Landstr. 101, 01109 Dresden, Germany
 Research | Register Court Dresden: HRA 4896, General Partner authorized
  Center  | to represent: AMD Saxony LLC (Wilmington, Delaware, US)
  (OSRC)  | General Manager of AMD Saxony LLC: Dr. Hans-R. Deppe, Thomas McCoy



-
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/