2006-05-03 22:35:41

by Bernhard Rosenkraenzer

[permalink] [raw]
Subject: [PATCH] 2.6.17-rc3-mm1 breaks AGP on amd64 boxes in 32 bit mode

2.6.17-rc3-mm1 breaks AGP on amd64 boxes in 32 bit mode - a change in the
related Kconfig file forces the agp-amd64 module to be built only on x86_64,
simply reverting that bit introduces unresolved symbols k8_nb_ids and
k8_northbridges (defined but not exported).

Signed-off-by: Bernhard Rosenkraenzer <[email protected]>
---
diff -urNp linux-2.6.16/drivers/char/agp/Kconfig
linux-2.6.16-driworx/drivers/char/agp/Kconfig
--- linux-2.6.16/drivers/char/agp/Kconfig 2006-05-02 23:30:35.000000000 +0200
+++ linux-2.6.16-driworx/drivers/char/agp/Kconfig 2006-05-02
22:57:48.000000000 +0200
@@ -56,7 +56,7 @@ config AGP_AMD

config AGP_AMD64
tristate "AMD Opteron/Athlon64 on-CPU GART support" if !GART_IOMMU
- depends on AGP && X86_64
+ depends on AGP && X86
default y if GART_IOMMU
help
This option gives you AGP support for the GLX component of
--- linux-2.6.16/arch/x86_64/kernel/k8.c.ark 2006-05-03 21:37:35.000000000
+0200
+++ linux-2.6.16-driworx/arch/x86_64/kernel/k8.c 2006-05-03 21:38:10.000000000
+0200
@@ -20,8 +20,10 @@ struct pci_device_id k8_nb_ids[] = {
{ PCI_DEVICE(PCI_VENDOR_ID_AMD, 0x1203) },
{}
};
+EXPORT_SYMBOL_GPL(k8_nb_ids); // for amd64-agp

struct pci_dev **k8_northbridges;
+EXPORT_SYMBOL_GPL(k8_northbridges); // for amd64-agp

static struct pci_dev *next_k8_northbridge(struct pci_dev *dev)
{


2006-05-04 02:36:59

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] 2.6.17-rc3-mm1 breaks AGP on amd64 boxes in 32 bit mode

On Thu, 4 May 2006 00:33:33 +0200
Bernhard Rosenkraenzer <[email protected]> wrote:

> 2.6.17-rc3-mm1 breaks AGP on amd64 boxes in 32 bit mode - a change in the
> related Kconfig file forces the agp-amd64 module to be built only on x86_64,
> simply reverting that bit introduces unresolved symbols k8_nb_ids and
> k8_northbridges (defined but not exported).

Yeah, it turns out that x86 is doing

+k8-y += ../../x86_64/kernel/k8.o

which I failed to spot. This, along with the "amd64" in the name fooled me
into believing that x86 wasn't supposed to be using this code.

x86_64 uses numerous x86 files in this manner, and now we we have x86 using
a couple of x86_64 files in a siilar manner. I think this is a bad thing,
and that we should make all these cross-references operate in the same
direction rather than in both directions. x86_64 developers already have
to deal with this problem, so why make start burdening x86 developers also?


Anyway. Andi, I'll drop x86_64-mm-new-northbridge-fix.patch. Please add
these exports to your copy of x86_64-mm-new-northbridge.patch

2006-05-04 07:36:53

by Andi Kleen

[permalink] [raw]
Subject: Re: [PATCH] 2.6.17-rc3-mm1 breaks AGP on amd64 boxes in 32 bit mode

> x86_64 uses numerous x86 files in this manner, and now we we have x86 using
> a couple of x86_64 files in a siilar manner. I think this is a bad thing,
> and that we should make all these cross-references operate in the same
> direction rather than in both directions. x86_64 developers already have
> to deal with this problem, so why make start burdening x86 developers also?

So far the only complaints
I heard was from a few people who deleted everything but arch/i386.
I wasn't very sympathetic to that particular problem because doing
so means they don't care about other architectures at all.

>
>
> Anyway. Andi, I'll drop x86_64-mm-new-northbridge-fix.patch. Please add
> these exports to your copy of x86_64-mm-new-northbridge.patch

It's already in the version on firstfloor. Just resync with that.

-Andi

P.S.: Since ff connectivity has been spotty in the past I'm also
working on mirroring the patches directly to ftp.x86-64.org