1. 16 9月, 2009 1 次提交
    • D
      sparc: Kill PROM console driver. · 09d3f3f0
      David S. Miller 提交于
      Many years ago when this driver was written, it had a use, but these
      days it's nothing but trouble and distributions should not enable it
      in any situation.
      
      Pretty much every console device a sparc machine could see has a
      bonafide real driver, making the PROM console hack unnecessary.
      
      If any new device shows up, we should write a driver instead of
      depending upon this crutch to save us.  We've been able to take care
      of this even when no chip documentation exists (sunxvr500, sunxvr2500)
      so there are no excuses.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      09d3f3f0
  2. 29 1月, 2009 1 次提交
  3. 09 1月, 2009 1 次提交
  4. 07 12月, 2008 1 次提交
  5. 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
  6. 20 5月, 2008 1 次提交
  7. 24 4月, 2008 2 次提交
  8. 26 3月, 2008 1 次提交
  9. 19 2月, 2008 5 次提交
  10. 18 2月, 2008 1 次提交
  11. 09 2月, 2008 1 次提交
  12. 23 1月, 2008 1 次提交
  13. 21 7月, 2007 1 次提交
    • D
      [SPARC]: Fix serial console device detection. · c73fcc84
      David S. Miller 提交于
      The current scheme works on static interpretation of text names, which
      is wrong.
      
      The output-device setting, for example, must be resolved via an alias
      or similar to a full path name to the console device.
      
      Paths also contain an optional set of 'options', which starts with a
      colon at the end of the path.  The option area is used to specify
      which of two serial ports ('a' or 'b') the path refers to when a
      device node drives multiple ports.  'a' is assumed if the option
      specification is missing.
      
      This was caught by the UltraSPARC-T1 simulator.  The 'output-device'
      property was set to 'ttya' and we didn't pick upon the fact that this
      is an OBP alias set to '/virtual-devices/console'.  Instead we saw it
      as the first serial console device, instead of the hypervisor console.
      
      The infrastructure is now there to take advantage of this to resolve
      the console correctly even in multi-head situations in fbcon too.
      
      Thanks to Greg Onufer for the bug report.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c73fcc84
  14. 17 7月, 2007 1 次提交
  15. 16 7月, 2007 2 次提交
  16. 05 6月, 2007 1 次提交
  17. 29 5月, 2007 1 次提交
  18. 16 5月, 2007 1 次提交
    • D
      [SPARC64]: Add hypervisor API negotiation and fix console bugs. · c7754d46
      David S. Miller 提交于
      Hypervisor interfaces need to be negotiated in order to use
      some API calls reliably.  So add a small set of interfaces
      to request API versions and query current settings.
      
      This allows us to fix some bugs in the hypervisor console:
      
      1) If we can negotiate API group CORE of at least major 1
         minor 1 we can use con_read and con_write which can improve
         console performance quite a bit.
      
      2) When we do a console write request, we should hold the
         spinlock around the whole request, not a byte at a time.
         What would happen is that it's easy for output from
         different cpus to get mixed with each other.
      
      3) Use consistent udelay() based polling, udelay(1) each
         loop with a limit of 1000 polls to handle stuck hypervisor
         console.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c7754d46
  19. 13 2月, 2007 1 次提交
  20. 18 10月, 2006 1 次提交
  21. 12 10月, 2006 1 次提交
  22. 11 7月, 2006 1 次提交
  23. 01 7月, 2006 1 次提交
  24. 28 6月, 2006 1 次提交
    • K
      [PATCH] node hotplug: register cpu: remove node struct · 76b67ed9
      KAMEZAWA Hiroyuki 提交于
      With Goto-san's patch, we can add new pgdat/node at runtime.  I'm now
      considering node-hot-add with cpu + memory on ACPI.
      
      I found acpi container, which describes node, could evaluate cpu before
      memory. This means cpu-hot-add occurs before memory hot add.
      
      In most part, cpu-hot-add doesn't depend on node hot add.  But register_cpu(),
      which creates symbolic link from node to cpu, requires that node should be
      onlined before register_cpu().  When a node is onlined, its pgdat should be
      there.
      
      This patch-set holds off creating symbolic link from node to cpu
      until node is onlined.
      
      This removes node arguments from register_cpu().
      
      Now, register_cpu() requires 'struct node' as its argument.  But the array of
      struct node is now unified in driver/base/node.c now (By Goto's node hotplug
      patch).  We can get struct node in generic way.  So, this argument is not
      necessary now.
      
      This patch also guarantees add cpu under node only when node is onlined.  It
      is necessary for node-hot-add vs.  cpu-hot-add patch following this.
      
      Moreover, register_cpu calculates cpu->node_id by cpu_to_node() without regard
      to its 'struct node *root' argument.  This patch removes it.
      
      Also modify callers of register_cpu()/unregister_cpu, whose args are changed
      by register-cpu-remove-node-struct patch.
      
      [Brice.Goglin@ens-lyon.org: fix it]
      Signed-off-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Cc: Yasunori Goto <y-goto@jp.fujitsu.com>
      Cc: Ashok Raj <ashok.raj@intel.com>
      Cc: Dave Hansen <haveblue@us.ibm.com>
      Signed-off-by: NBrice Goglin <Brice.Goglin@ens-lyon.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      76b67ed9
  25. 24 6月, 2006 1 次提交
  26. 31 5月, 2006 1 次提交
  27. 11 4月, 2006 1 次提交
  28. 20 3月, 2006 7 次提交
    • A
      [SPARC64]: CONFIG_BLK_DEV_RAM fix · 467418f3
      Andrew Morton 提交于
      init/do_mounts_rd.c depends upon CONFIG_BLK_DEV_RAM, not CONFIG_BLK_DEV_INITRD.
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      467418f3
    • D
      [SPARC64]: Fix system type in /proc/cpuinfo and remove bogus OBP check. · 90a6646b
      David S. Miller 提交于
      Report 'sun4v' when appropriate in /proc/cpuinfo
      
      Remove all the verifications of the OBP version string.  Just
      make sure it's there, and report it raw in the bootup logs and
      via /proc/cpuinfo.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      90a6646b
    • E
      [SPARC64]: kzalloc() conversion · 9132983a
      Eric Sesterhenn 提交于
      this patch converts arch/sparc64 to kzalloc usage.
      Crosscompile tested with allyesconfig.
      Signed-off-by: NEric Sesterhenn <snakebyte@gmx.de>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9132983a
    • D
      [SPARC64]: Init boot cpu's trap_block[] before paging_init() · 52845cdb
      David S. Miller 提交于
      It must be ready when we take over the trap table.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      52845cdb
    • D
      [SPARC64]: Fix uniprocessor IRQ targetting on SUN4V. · ebd8c56c
      David S. Miller 提交于
      We need to use the real hardware processor ID when
      targetting interrupts, not the "define to 0" thing
      the uniprocessor build gives us.
      
      Also, fill in the Node-ID and Agent-ID fields properly
      on sun4u/Safari.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ebd8c56c
    • D
      [SPARC64]: Get SUN4V SMP working. · 72aff53f
      David S. Miller 提交于
      The sibling cpu bringup is extremely fragile.  We can only
      perform the most basic calls until we take over the trap
      table from the firmware/hypervisor on the new cpu.
      
      This means no accesses to %g4, %g5, %g6 since those can't be
      TLB translated without our trap handlers.
      
      In order to achieve this:
      
      1) Change sun4v_init_mondo_queues() so that it can operate in
         several modes.
      
         It can allocate the queues, or install them in the current
         processor, or both.
      
         The boot cpu does both in it's call early on.
      
         Later, the boot cpu allocates the sibling cpu queue, starts
         the sibling cpu, then the sibling cpu loads them in.
      
      2) init_cur_cpu_trap() is changed to take the current_thread_info()
         as an argument instead of reading %g6 directly on the current
         cpu.
      
      3) Create a trampoline stack for the sibling cpus.  We do our basic
         kernel calls using this stack, which is locked into the kernel
         image, then go to our proper thread stack after taking over the
         trap table.
      
      4) While we are in this delicate startup state, we put 0xdeadbeef
         into %g4/%g5/%g6 in order to catch accidental accesses.
      
      5) On the final prom_set_trap_table*() call, we put &init_thread_union
         into %g6.  This is a hack to make prom_world(0) work.  All that
         wants to do is restore the %asi register using
         get_thread_current_ds().
      
      Longer term we should just do the OBP calls to set the trap table by
      hand just like we do for everything else.  This would avoid that silly
      prom_world(0) issue, then we can remove the init_thread_union hack.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      72aff53f
    • D
      [SPARC64] sunhv: Bug fixes. · d5a2aa24
      David S. Miller 提交于
      Add udelay to polling console write loop, and increment
      the loop limit.
      
      Name the device "ttyHV" and pass that to add_preferred_console()
      when we're using hypervisor console.
      
      Kill sunhv_console_setup(), it's empty.
      
      Handle the case where we don't want to use hypervisor console.
      (ie. we have a head attached to a sun4v machine)
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d5a2aa24