1. 30 10月, 2015 1 次提交
    • Y
      sparc/PCI: Add mem64 resource parsing for root bus · af86fa40
      Yinghai Lu 提交于
      David reported that a T5-8 sparc system failed to boot with:
      
        pci_sun4v f02dbcfc: PCI host bridge to bus 0000:00
        pci_bus 0000:00: root bus resource [io  0x804000000000-0x80400fffffff] (bus address [0x0000-0xfffffff])
        pci_bus 0000:00: root bus resource [mem 0x800000000000-0x80007effffff] (bus address [0x00000000-0x7effffff])
        pci 0000:00:01.0: can't claim BAR 15 [mem 0x100000000-0x4afffffff pref]: no compatible bridge window
      
      Note that we don't know about a host bridge aperture that contains
      BAR 15.  OF does report a MEM64 aperture, but before this patch,
      pci_determine_mem_io_space() ignored it.
      
      Add support for host bridge apertures with 64-bit PCI addresses.  Also
      set IORESOURCE_MEM_64 for PCI device and bridge resources in PCI 64-bit
      memory space.
      
      Sparc doesn't actually print the device and bridge resources, but after
      this patch, we should have the equivalent of this:
      
        pci_sun4v f02dbcfc: PCI host bridge to bus 0000:00
        pci_bus 0000:00: root bus resource [io  0x804000000000-0x80400fffffff] (bus address [0x0000-0xfffffff])
        pci_bus 0000:00: root bus resource [mem 0x800000000000-0x80007effffff] (bus address [0x00000000-0x7effffff])
        pci_bus 0000:00: root bus resource [mem 0x800100000000-0x8007ffffffff] (bus address [0x100000000-0x7ffffffff])
        pci 0000:00:01.0:   bridge window [mem 0x800100000000-0x8004afffffff 64bit pref]
      
      [bhelgaas: changelog, URL to David's report]
      Fixes: d63e2e1f ("sparc/PCI: Clip bridge windows to fit in upstream windows")
      Link: http://lkml.kernel.org/r/5514391F.2030300@oracle.comReported-by: NDavid Ahern <david.ahern@oracle.com>
      Tested-by: NDavid Ahern <david.ahern@oracle.com>
      Tested-by: NKhalid Aziz <khalid.aziz@oracle.com>
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
      af86fa40
  2. 29 1月, 2014 1 次提交
  3. 08 6月, 2011 1 次提交
  4. 17 3月, 2011 1 次提交
  5. 19 5月, 2010 1 次提交
  6. 13 4月, 2010 1 次提交
  7. 19 3月, 2009 1 次提交
    • M
      sparc64: Fix crash with /proc/iomem · 192d7a46
      Mikulas Patocka 提交于
      When you compile kernel on Sparc64 with heap memory checking and type
      "cat /proc/iomem", you get a crash, because pointers in struct
      resource are uninitialized.
      
      Most code fills struct resource with zeros, so I assume that it is
      responsibility of the caller of request_resource to initialized it,
      not the responsibility of request_resource functuion.
      
      After 2.6.29 is out, there could be a check for uninitialized fields
      added to request_resource to avoid crashes like this.
      Signed-off-by: NMikulas Patocka <mpatocka@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      192d7a46
  8. 07 1月, 2009 1 次提交
    • S
      sparc64: Use unsigned long long for u64. · 90181136
      Sam Ravnborg 提交于
      Andrew Morton wrote:
      
          People keep on doing
      
                  printk("%llu", some_u64);
      
          testing it only on x86_64 and this generates a warning storm on
          powerpc, sparc64, etc.  Because they use `long', not `long long'.
      
          Quite a few 64-bit architectures are using `long' for their
          s64/u64 types.  We should convert them all to `long long'.
      
      Update types.h so we use unsigned long long for u64 and
      fix all warnings in sparc64 code.
      Tested with an allnoconfig, defconfig and allmodconfig builds.
      
      This patch introduces additional warnings in several drivers.
      These will be dealt with in separate patches.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      90181136
  9. 05 12月, 2008 1 次提交
    • S
      sparc,sparc64: unify kernel/ · a88b5ba8
      Sam Ravnborg 提交于
      o Move all files from sparc64/kernel/ to sparc/kernel
        - rename as appropriate
      o Update sparc/Makefile to the changes
      o Update sparc/kernel/Makefile to include the sparc64 files
      
      NOTE: This commit changes link order on sparc64!
      
      Link order had to change for either of sparc32 and sparc64.
      And assuming sparc64 see more testing than sparc32 change link
      order on sparc64 where issues will be caught faster.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a88b5ba8
  10. 11 9月, 2008 1 次提交
  11. 08 8月, 2008 1 次提交
  12. 02 5月, 2008 1 次提交
    • D
      sparc64: Stop creating dummy root PCI host controller devices. · c26d3c01
      David S. Miller 提交于
      It just creates confusion, errors, and bugs.
      
      For one thing, this can cause dup sysfs or procfs nodes to get
      created:
      
      [    1.198015] proc_dir_entry '00.0' already registered
      [    1.198036] Call Trace:
      [    1.198052]  [00000000004f2534] create_proc_entry+0x7c/0x98
      [    1.198092]  [00000000005719e4] pci_proc_attach_device+0xa4/0xd4
      [    1.198126]  [00000000007d991c] pci_proc_init+0x64/0x88
      [    1.198158]  [00000000007c62a4] kernel_init+0x190/0x330
      [    1.198183]  [0000000000426cf8] kernel_thread+0x38/0x48
      [    1.198210]  [00000000006a0d90] rest_init+0x18/0x5c
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c26d3c01
  13. 18 10月, 2007 1 次提交
  14. 04 10月, 2007 1 次提交
    • D
      [SPARC64]: Temporary workaround for PCI-E slot on T1000. · 27097ef9
      David S. Miller 提交于
      The PCI-E slot on T1000 connects directly to the Fire PCI chip with no
      intervening bridges visible in the OBP tree.
      
      Unfortunately the bus numbering of the device in that slot is
      different (2) from the PCI host controller (0), and thus the
      pci_bus_{read,write}_config_*() calls don't work out.
      
      Complicating things further the Fire PCI controller has no config
      space it responds to either.
      
      For now treat this case specially so that devices in the slot work.
      
      Longer term we need to perhaps cons up a dummy bridge between the Fire
      and the PCI-E slot so that the bus hierarchy is complete inside of the
      kernel and thus the bus numbering all works out right.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      27097ef9
  15. 30 7月, 2007 1 次提交
  16. 13 6月, 2007 1 次提交
  17. 09 5月, 2007 4 次提交
  18. 26 4月, 2007 4 次提交
  19. 11 2月, 2007 1 次提交
  20. 18 10月, 2006 1 次提交
    • D
      [SPARC64]: Fix PCI memory space root resource on Hummingbird. · 5aee87c4
      David S. Miller 提交于
      For Hummingbird PCI controllers, we should create the root
      PCI memory space resource as the full 4GB area, and then
      allocate the IOMMU DMA translation window out of there.
      
      The old code just assumed that the IOMMU DMA translation base
      to the top of the 4GB area was unusable.  This is not true on
      many systems such as SB100 and SB150, where the IOMMU DMA
      translation window sits at 0xc0000000->0xdfffffff.
      
      So what would happen is that any device mapped by the firmware
      at the top section 0xe0000000->0xffffffff would get remapped
      by Linux somewhere else leading to all kinds of problems and
      boot failures.
      
      While we're here, report more cases of OBP resource assignment
      conflicts.  The only truly valid ones are ROM resource conflicts.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5aee87c4
  21. 30 6月, 2006 1 次提交
    • D
      [SPARC64]: of_device layer IRQ resolution · 2b1e5978
      David S. Miller 提交于
      Do IRQ determination generically by parsing the PROM properties,
      and using IRQ controller drivers for final resolution.
      
      One immediate positive effect is that all of the IRQ frobbing
      in the EBUS, ISA, and PCI controller layers has been eliminated.
      We just look up the of_device and use the properly computed
      value.
      
      The PCI controller irq_build() routines are gone and no longer
      used.  Unfortunately sbus_build_irq() has to remain as there is
      a direct reference to this in the sunzilog driver.  That can be
      killed off once the sparc32 side of this is written and the
      sunzilog driver is transformed into an "of" bus driver.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2b1e5978
  22. 24 6月, 2006 3 次提交
  23. 20 3月, 2006 6 次提交
  24. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4