1. 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
  2. 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
  3. 12 9月, 2008 1 次提交
  4. 22 7月, 2008 2 次提交
  5. 22 1月, 2008 1 次提交
    • S
      [SPARC64]: Fix of section mismatch warnings. · a1f35ba3
      Sam Ravnborg 提交于
      Fix following Section mismatch warning in sparc64:
      
      WARNING: arch/sparc64/kernel/built-in.o(.text+0x13dec): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'psycho_scan_bus' and 'psycho_pbm_init')
      WARNING: arch/sparc64/kernel/built-in.o(.text+0x14b58): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'sabre_scan_bus' and 'sabre_init')
      WARNING: arch/sparc64/kernel/built-in.o(.text+0x15ea4): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'schizo_scan_bus' and 'schizo_pbm_init')
      WARNING: arch/sparc64/kernel/built-in.o(.text+0x17780): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'pci_sun4v_scan_bus' and 'pci_sun4v_get_head')
      WARNING: arch/sparc64/kernel/built-in.o(.text+0x17d5c): Section mismatch: reference to .devinit.text:pci_scan_one_pbm (between 'pci_fire_scan_bus' and 'pci_fire_get_head')
      WARNING: arch/sparc64/kernel/built-in.o(.text+0x23860): Section mismatch: reference to .devinit.text:vio_dev_release (between 'vio_create_one' and 'vio_add')
      WARNING: arch/sparc64/kernel/built-in.o(.text+0x23868): Section mismatch: reference to .devinit.text:vio_dev_release (between 'vio_create_one' and 'vio_add')
      
      The pci_* were all missing __init annotations.
      For the vio.c case it was a function with a wrong annotation which was removed.
      Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a1f35ba3
  6. 04 10月, 2007 2 次提交
  7. 08 8月, 2007 1 次提交
  8. 21 7月, 2007 1 次提交
  9. 20 7月, 2007 3 次提交
  10. 18 7月, 2007 2 次提交
  11. 16 7月, 2007 5 次提交
    • D
      [SPARC64]: Unconditionally register vio_bus_type. · f8be339c
      David S. Miller 提交于
      The VIO drivers register themselves unconditionally just
      like those of any other bus type, so to avoid crashes
      on non-VIO systems we need to always register vio_bus_type.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f8be339c
    • D
      [SPARC64]: Fix MD property lifetime bugs. · 83292e0a
      David S. Miller 提交于
      Property values cannot be referenced outside of
      mdesc_grab()/mdesc_release() pairs.  The only major
      offender was the VIO bus layer, easily fixed.
      
      Add some commentary to mdesc.h describing these rules.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      83292e0a
    • D
      [SPARC64]: Abstract out mdesc accesses for better MD update handling. · 43fdf274
      David S. Miller 提交于
      Since we have to be able to handle MD updates, having an in-tree
      set of data structures representing the MD objects actually makes
      things more painful.
      
      The MD itself is easy to parse, and we can implement the existing
      interfaces using direct parsing of the MD binary image.
      
      The MD is now reference counted, so accesses have to now take the
      form:
      
      	handle = mdesc_grab();
      
      	... operations on MD ...
      
      	mdesc_release(handle);
      
      The only remaining issue are cases where code holds on to references
      to MD property values.  mdesc_get_property() returns a direct pointer
      to the property value, most cases just pull in the information they
      need and discard the pointer, but there are few that use the pointer
      directly over a long lifetime.  Those will be fixed up in a subsequent
      changeset.
      
      A preliminary handler for MD update events from domain services is
      there, it is rudimentry but it works and handles all of the reference
      counting.  It does not check the generation number of the MDs,
      and it does not generate a "add/delete" list for notification to
      interesting parties about MD changes but that will be forthcoming.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      43fdf274
    • D
      [SPARC64]: Add domain-services nodes to VIO device tree. · 2c4f4ecb
      David S. Miller 提交于
      They sit under the root of the MD tree unlike the rest of
      the LDC channel based virtual devices.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2c4f4ecb
    • D
      [SPARC64]: Add LDOM virtual channel driver and VIO device layer. · e53e97ce
      David S. Miller 提交于
      Virtual devices on Sun Logical Domains are built on top
      of a virtual channel framework.  This, with help of hypervisor
      interfaces, provides a link layer protocol with basic
      handshaking over which virtual device clients and servers
      communicate.
      
      Built on top of this is a VIO device protocol which has it's
      own handshaking and message types.  At this layer attributes
      are exchanged (disk size, network device addresses, etc.)
      descriptor rings are registered, and data transfers are
      triggers and replied to.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e53e97ce