lkml.org 
[lkml]   [2010]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] x86/PCI: never allocate PCI MMIO resources below BIOS_END
    On 04/26/2010 06:27 PM, Linus Torvalds wrote:
    >
    >
    > On Mon, 26 Apr 2010, Jesse Barnes wrote:
    >>
    >> Glad we agree. As I said (and echoing Bjorn), I think it would be best
    >> to reserve this space in a way that doesn't just use IORESOURCE_BUSY.
    >> We want and need to do allocations from the special region, so we
    >> should mark it as such.
    >
    > I think Bjorn's patch to pcibios_align_resource() is really good and
    > clever, and I think it should take care of the need for IORESOURCE_BUSY,
    > no? We do want to let devices that are _already_ allocated there insert
    > their resources, it's just that we never want to allocate new ones in the
    > low 1M region.

    case A:
    bus 0: --- bus X --- device Y
    if the BIOS only assign range to to BUS X bridge with 0xB0000, and
    device Y is not assigned. then with Bojorn's patch, device Y can not
    get right resource allocated on first try.


    >
    > Do we actually have a regression left with Bjorn's patch?

    also find one AMD system:

    [ 6.960006] PCI: Using host bridge windows from ACPI; if necessary, use "pci=nocrs" and report a bug
    [ 6.984225] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-06])
    [ 7.023528] pci_root PNP0A03:00: host bridge window [io 0x0000-0x03af]
    [ 7.024014] pci_root PNP0A03:00: host bridge window [io 0x03b0-0x03bb]
    [ 7.028005] pci_root PNP0A03:00: host bridge window [io 0x03bc-0x03bf]
    [ 7.032005] pci_root PNP0A03:00: host bridge window [io 0x03c0-0x03df]
    [ 7.036005] pci_root PNP0A03:00: host bridge window [io 0x03e0-0xefff]
    [ 7.040011] pci_root PNP0A03:00: host bridge window [mem 0xd8000000-0xe7ffffff]
    [ 7.044005] pci_root PNP0A03:00: host bridge window [mem 0xf0000000-0xfe9fffff]
    [ 7.048005] pci_root PNP0A03:00: host bridge window [mem 0xfec00000-0xfed0ffff]
    [ 7.052005] pci_root PNP0A03:00: host bridge window [mem 0x000a0000-0x000bffff]
    [ 7.056011] pci_root PNP0A03:00: host bridge window [mem 0xfed20000-0xffffffff]

    [ 0.000000] BIOS-e820: 0000000000000100 - 0000000000098c00 (usable)
    [ 0.000000] BIOS-e820: 0000000000098c00 - 00000000000a0000 (reserved)
    [ 0.000000] BIOS-e820: 00000000000e6000 - 0000000000100000 (reserved)
    [ 0.000000] BIOS-e820: 0000000000100000 - 00000000d7fa0000 (usable)
    [ 0.000000] BIOS-e820: 00000000d7fae000 - 00000000d7fb0000 (reserved)
    [ 0.000000] BIOS-e820: 00000000d7fb0000 - 00000000d7fbe000 (ACPI data)
    [ 0.000000] BIOS-e820: 00000000d7fbe000 - 00000000d7ff0000 (ACPI NVS)
    [ 0.000000] BIOS-e820: 00000000d7ff0000 - 00000000f0000000 (reserved)
    [ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
    [ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
    [ 0.000000] BIOS-e820: 00000000ff700000 - 0000000100000000 (reserved)
    [ 0.000000] BIOS-e820: 0000000100000000 - 0000008028000000 (usable)

    pci assign unassign code could use range like [mem 0xfed20000-0xffffffff] wrongly.

    YH


    \
     
     \ /
      Last update: 2010-04-27 03:47    [W:5.153 / U:0.364 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site