lkml.org 
[lkml]   [2010]   [Apr]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH -v2 1/2] x86: Reserve [0xa0000, 0x100000] in e820 map
On 04/13/2010 03:41 PM, H. Peter Anvin wrote:
> On 04/13/2010 03:29 PM, Yinghai wrote:
>>>
>>> We have talked about a need to resolve this before.
>>
>> current code for mmio that is just below 4g, if some PCI BAR use that range, and those range is falling into E820_RESERVED,
>>
>> those range still can be claimed, but driver can not use pci_request_region() later.
>>
>> So We still
>> 1. rely that BIOS does not reserve the [0xa0000, 0xe0000)
>> 2. kernel only reserve the range when we make sure these is legacy device on that range.
>>
>
> This really isn't sufficient. There are systems in the field which
> marks a memory range reserved in E820 because it a device pointed there,
> and it doesn't want that device moved because it is used by an SMM handler.
>
> This was reported quite a while ago (like two years.) I can dig up the
> thread if it matters.

Are you sure? what is BAR range? greater than 1M ?

e820_reserve_resources() will make that range to be reserved and BUSY in resource tree.
and if driver for that device want to call pci_request_region, it will get failure...

YH


\
 
 \ /
  Last update: 2010-04-14 01:03    [from the cache]
©2003-2011 Jasper Spaans