From: Yinghai Lu <yinghai@kernel.org>
To: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Ingo Molnar <mingo@elte.hu>,
Linus Torvalds <torvalds@linux-foundation.org>,
Jesse Barnes <jbarnes@virtuousgeek.org>,
"H. Peter Anvin" <hpa@zytor.com>,
Andrew Morton <akpm@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
linux-pci@vger.kernel.org, yannick.roehlly@free.fr
Subject: Re: [RFC PATCH 1/2] pci: don't assume pref memio are 64bit -v3
Date: Thu, 23 Apr 2009 08:05:26 -0700 [thread overview]
Message-ID: <49F083B6.7080801@kernel.org> (raw)
In-Reply-To: <20090423123619.GA11519@jurassic.park.msu.ru>
Ivan Kokshaysky wrote:
> On Wed, Apr 22, 2009 at 03:37:04PM -0700, Yinghai Lu wrote:
>> one system with 4g installed ( there is 1g hole)
>>
>> when 4G installed.
>> BIOS put ACPI etc need the hole
>> [ 0.000000] BIOS-provided physical RAM map:
>> [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009bc00 (usable)
>> [ 0.000000] BIOS-e820: 000000000009bc00 - 00000000000a0000 (reserved)
>> [ 0.000000] BIOS-e820: 00000000000e3000 - 0000000000100000 (reserved)
>> [ 0.000000] BIOS-e820: 0000000000100000 - 00000000bffa0000 (usable)
>> [ 0.000000] BIOS-e820: 00000000bffa0000 - 00000000bffae000 (ACPI data)
>> [ 0.000000] BIOS-e820: 00000000bffae000 - 00000000bfff0000 (ACPI NVS)
>> [ 0.000000] BIOS-e820: 00000000bfff0000 - 00000000c0000000 (reserved)
>> [ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
>> [ 0.000000] BIOS-e820: 00000000ffb00000 - 0000000100000000 (reserved)
>> [ 0.000000] BIOS-e820: 0000000100000000 - 0000000140000000 (usable)
>> so in kernel resource will be reserved for 0xbffa0000 - 0xbfff0000 for ACPI
>> 0x100000 - 0xbffa0000 for RAM...
>>
>> and BIOS set
>> [ 0.240007] pci 0000:00:01.0: bridge 64bit mmio pref: [0xbdf00000-0xddefffff]
>> [ 0.237102] pci 0000:01:00.0: reg 10 32bit mmio: [0xc0000000-0xcfffffff]
>> that is conflict with reserved res. so it can not be reserved Kernel.
>>
>> then Kernel try to get range from 0x140000000 ( above the RAM, 5G and above 4g)
>> and set let the bridge to use it, and ATI cards to use it.
>>
>> but the problem is that ATI only support 32bit ...
>
> Yinghai, you are trying to get a quick fix for quite a complex problem
> that cannot be solved with a quick fix. Even more, there is no rush on
> a quick fix because it's not a critical bug at all. 32-bit stuff ends
> up above 4G *only* when there is no free space left on the 32-bit
> PCI bus, and it can be considered as very effective (though rather ugly)
> way of disabling the BAR that we failed to allocate.
> In this particular case it was simply a side effect of the "pci_mem_start"
> issue (which was indeed critical, but hopefully fixed now).
>
i agreed that that is not crital bug at all. pci_mem_start patch should fix that allocation alone.
actually "pci: don't assume pref memio are 64bit" just make kernel give customer surprise.
>
>> +/* need to insert those two under iomem */
>> +struct resource iomem32_resource = {
>> + .name = "PCI mem 32bit",
>> + .start = 0,
>> + .end = 0xffffffff,
>> + .flags = IORESOURCE_MEM,
>> +};
>> +struct resource iomem64_resource = {
>> + .name = "PCI mem 64bit",
>> + .start = 1ULL<<32,
>> + .end = -1,
>> + .flags = IORESOURCE_MEM | IORESOURCE_MEM_64,
>> +};
>> +
>
> This only works on x86 and similar systems with 1:1 CPU address to bus
> address mapping. There is a lot of machines with multiple 32-bit PCI
> bus spaces (4G per PCI domain).
need to move that code to arch code for x86?
YH
next prev parent reply other threads:[~2009-04-23 15:08 UTC|newest]
Thread overview: 117+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <bug-11103-13546@http.bugzilla.kernel.org/>
[not found] ` <200904101913.n3AJDhMm018684@demeter.kernel.org>
2009-04-10 20:27 ` [Bug 11103] Can't use framebuffer or vesa Xorg with two memory modules Yinghai Lu
2009-04-11 3:29 ` Yinghai Lu
2009-04-14 20:49 ` [PATCH] pci: don't assume pref memio are 64bit -v2 Yinghai Lu
2009-04-14 20:50 ` [PATCH] x86/pci: make pci_mem_start to be aligned only Yinghai Lu
2009-04-14 21:10 ` Linus Torvalds
2009-04-14 21:27 ` H. Peter Anvin
2009-04-14 21:27 ` Yinghai Lu
2009-04-14 22:35 ` Yannick Roehlly
2009-04-15 0:29 ` [PATCH] x86/pci: make pci_mem_start to be aligned only -v2 Yinghai Lu
2009-04-15 0:41 ` [PATCH] x86/pci: make pci_mem_start to be aligned only -v3 Yinghai Lu
2009-04-15 0:42 ` [PATCH] x86/pci: fix -1 calling to e820_all_mapped with mmconfig Yinghai Lu
2009-04-16 16:31 ` [PATCH] x86/pci: make pci_mem_start to be aligned only -v3 Jesse Barnes
2009-04-16 16:44 ` Linus Torvalds
2009-04-16 16:56 ` Ingo Molnar
2009-04-16 17:18 ` Yinghai Lu
2009-04-16 17:27 ` H. Peter Anvin
2009-04-16 17:38 ` Ingo Molnar
2009-04-16 17:28 ` Ingo Molnar
2009-04-16 20:13 ` [PATCH] x86/pci: make pci_mem_start to be aligned only -v4 Yinghai Lu
2009-04-16 23:18 ` Linus Torvalds
2009-04-16 23:54 ` Ingo Molnar
2009-04-17 0:24 ` Linus Torvalds
2009-04-17 13:16 ` Ingo Molnar
2009-04-17 21:59 ` Yinghai Lu
2009-04-17 22:04 ` H. Peter Anvin
2009-04-18 5:37 ` [PATCH] pci: keep pci device resource name pointer right Yinghai Lu
2009-04-18 7:51 ` Ingo Molnar
2009-04-18 16:05 ` Jesse Barnes
2009-04-18 18:42 ` Linus Torvalds
2009-04-18 19:19 ` Yinghai Lu
2009-04-18 19:23 ` Greg KH
2009-04-18 20:00 ` Kay Sievers
2009-04-18 20:27 ` Kay Sievers
2009-04-18 20:37 ` Ingo Molnar
2009-04-18 22:05 ` [PATCH] driver: dont update dev_name via device_add path Yinghai Lu
2009-04-28 7:36 ` [PATCH] driver: make dev_set_name(, NULL) work Yinghai Lu
2009-04-28 7:42 ` [RFC PATCH] use dev_set_name(,NULL) to prevent leaking Yinghai Lu
2009-04-28 8:25 ` Kay Sievers
2009-04-28 15:21 ` Yinghai Lu
2009-04-28 15:34 ` Yinghai Lu
2009-04-28 15:39 ` Greg KH
2009-04-28 15:51 ` Yinghai Lu
2009-04-28 15:56 ` Kay Sievers
2009-04-28 16:08 ` Yinghai Lu
2009-04-28 16:15 ` Kay Sievers
2009-04-28 19:04 ` Yinghai Lu
2009-04-28 16:36 ` Yinghai Lu
2009-04-28 16:50 ` Kay Sievers
2009-04-28 14:52 ` Greg KH
2009-04-28 14:51 ` [PATCH] driver: make dev_set_name(, NULL) work Greg KH
2009-04-28 15:14 ` Yinghai Lu
2009-04-28 15:39 ` Greg KH
2009-04-18 21:07 ` [PATCH] pci: keep pci device resource name pointer right Yinghai Lu
2009-04-18 22:17 ` Linus Torvalds
2009-04-18 20:00 ` [PATCH] driver: dont update dev_name if it is not changed Yinghai Lu
2009-04-18 20:11 ` Ingo Molnar
2009-04-18 20:20 ` Yinghai Lu
2009-04-18 20:27 ` Ingo Molnar
2009-04-18 8:33 ` [PATCH] x86/pci: make pci_mem_start to be aligned only -v4 Yinghai Lu
2009-04-18 9:22 ` Ingo Molnar
2009-04-18 17:07 ` Yinghai Lu
2009-04-18 18:57 ` Linus Torvalds
2009-04-18 19:14 ` Ingo Molnar
2009-04-18 19:26 ` Yinghai Lu
2009-04-18 22:20 ` Yinghai Lu
2009-04-18 22:31 ` Linus Torvalds
2009-04-18 20:13 ` Ivan Kokshaysky
2009-04-18 18:50 ` Linus Torvalds
2009-04-18 22:44 ` Yinghai Lu
2009-04-18 23:01 ` Yinghai Lu
2009-04-18 23:06 ` Linus Torvalds
2009-04-18 23:26 ` Yinghai Lu
2009-04-18 23:30 ` Yinghai Lu
2009-04-18 23:04 ` Linus Torvalds
2009-04-19 0:32 ` H. Peter Anvin
2009-04-19 4:50 ` Linus Torvalds
2009-04-19 5:26 ` Yinghai Lu
2009-04-19 19:35 ` Yannick Roehlly
2009-04-19 19:59 ` Yinghai Lu
2009-04-19 20:24 ` Yannick Roehlly
2009-04-19 9:02 ` Ingo Molnar
2009-04-19 9:06 ` Ingo Molnar
2009-04-19 17:52 ` Jesse Barnes
2009-04-20 22:33 ` Ivan Kokshaysky
2009-04-20 22:52 ` Yinghai Lu
2009-04-21 10:54 ` Ivan Kokshaysky
2009-04-21 0:09 ` Yinghai Lu
2009-04-21 10:56 ` Ivan Kokshaysky
2009-04-21 15:57 ` Yinghai Lu
2009-04-22 22:37 ` [RFC PATCH 1/2] pci: don't assume pref memio are 64bit -v3 Yinghai Lu
2009-04-22 22:38 ` [RFC PATCH 2/2] pci: try to assign res for device under transparent bridges Yinghai Lu
2009-04-22 22:49 ` [RFC PATCH 1/2] pci: don't assume pref memio are 64bit -v3 Jesse Barnes
2009-04-23 0:49 ` Yinghai Lu
2009-04-23 1:05 ` Jesse Barnes
2009-04-23 2:03 ` Yinghai Lu
2009-04-23 12:58 ` Ivan Kokshaysky
2009-04-23 15:30 ` Yinghai Lu
2009-04-23 2:10 ` Yinghai Lu
2009-04-23 13:22 ` Ivan Kokshaysky
2009-04-23 15:13 ` Yinghai Lu
2009-04-23 22:19 ` Ivan Kokshaysky
2009-04-24 3:48 ` [PATCH 1/4] pci/x86: don't assume pref memio are 64bit -v4 Yinghai Lu
2009-04-24 3:49 ` [PATCH 2/4] pci: try to assign res for device under transparent bridges -v2 Yinghai Lu
2009-04-24 3:50 ` [PATCH 3/4] x86: reserve range near the ram Yinghai Lu
2009-04-24 3:50 ` [PATCH 4/4] x86/pci: make pci_mem_start to be aligned only -v5 Yinghai Lu
2009-04-24 13:16 ` [PATCH 1/4] pci/x86: don't assume pref memio are 64bit -v4 Ivan Kokshaysky
2009-05-05 18:52 ` Jesse Barnes
2009-05-06 12:33 ` Ingo Molnar
2009-05-06 15:06 ` [PATCH 1/2] x86: reserve range near the ram Yinghai Lu
2009-05-11 9:51 ` [tip:x86/mm] x86, e820, pci: reserve extra free space near end of RAM tip-bot for Linus Torvalds
2009-05-06 15:07 ` [PATCH 1/2] x86/pci: make pci_mem_start to be aligned only -v5 Yinghai Lu
2009-05-11 9:51 ` [tip:x86/mm] x86/pci: remove rounding quirk from e820_setup_gap() tip-bot for Yinghai Lu
2009-04-23 12:36 ` [RFC PATCH 1/2] pci: don't assume pref memio are 64bit -v3 Ivan Kokshaysky
2009-04-23 12:41 ` Ingo Molnar
2009-04-23 13:09 ` Ivan Kokshaysky
2009-04-23 15:05 ` Yinghai Lu [this message]
2009-04-21 15:41 ` [PATCH] x86/pci: make pci_mem_start to be aligned only -v4 Jesse Barnes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=49F083B6.7080801@kernel.org \
--to=yinghai@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=ink@jurassic.park.msu.ru \
--cc=jbarnes@virtuousgeek.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=yannick.roehlly@free.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.