1. 21 10月, 2010 9 次提交
  2. 11 8月, 2010 3 次提交
  3. 08 8月, 2010 1 次提交
  4. 04 8月, 2010 8 次提交
    • M
      microblaze: Add KGDB support · 2d5973cb
      Michal Simek 提交于
      Kgdb uses brki r16, 0x18 instruction to call
      low level _debug_exception function which save
      current state to pt_regs and call microblaze_kgdb_break
      function. _debug_exception should be called only from
      the kernel space. User space calling is not supported
      because user application debugging uses different handling.
      
      pt_regs_to_gdb_regs loads additional special registers
      which can't be changed
      
       * Enable KGDB in Kconfig
       * Remove ancient not-tested KGDB support
       * Remove ancient _debug_exception code from entry.S
      
      Only MMU KGDB support is supported.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      CC: Jason Wessel <jason.wessel@windriver.com>
      CC: John Williams <john.williams@petalogix.com>
      CC: Edgar E. Iglesias <edgar.iglesias@petalogix.com>
      CC: linux-kernel@vger.kernel.org
      Acked-by: NJason Wessel <jason.wessel@windriver.com>
      2d5973cb
    • M
      microblaze: Fix number of pvr regs · aee04d76
      Michal Simek 提交于
      Microblaze has only 11 pvr regs according manual.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      aee04d76
    • F
      microblaze: remove unused HAVE_ARCH_PCI_SET_DMA_MASK · 75842abf
      FUJITA Tomonori 提交于
      HAVE_ARCH_PCI_SET_DMA_MASK was removed in 2.6.34 (no architecture has
      the own implementation of pci_set_dma_mask).
      Signed-off-by: NFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      75842abf
    • M
      microblaze: Improve ftrace time measuring · 6f34b08f
      Michal Simek 提交于
      I had to comment sched_clock generic function because of broken toolchain.
      It is fine grain timing.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      6f34b08f
    • S
      microblaze: Add stack unwinder · ce3266c0
      Steven J. Magnani 提交于
      Implement intelligent backtracing by searching for stack frame creation,
      and emitting only return addresses. Use print_hex_dump() to display the
      entire binary kernel stack.
      
      Limitation: MMU kernels are not currently able to trace beyond a system trap
      (interrupt, syscall, etc.). It is the intent of this patch to provide
      infrastructure that can be extended to add this capability later.
      
      Changes from V1:
      * Removed checks in find_frame_creation() that prevented location of the frame
        creation instruction in heavily optimized code
      * Various formatting/commenting/file location tweaks per review comments
      * Dropped Kconfig option to enable STACKTRACE as something logically separate
      Signed-off-by: NSteven J. Magnani <steve@digidescorp.com>
      ce3266c0
    • S
      microblaze: Allow PAGE_SIZE configuration · ba9c4f88
      Steven J. Magnani 提交于
      Allow developer to configure memory page size at compile time.
      Larger pages can improve performance on some workloads.
      
      Based on PowerPC code.
      Signed-off-by: NSteven J. Magnani <steve@digidescorp.com>
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      ba9c4f88
    • M
      microblaze: Fix copy_to_user_page macro · 6847ba91
      Michal Simek 提交于
      copy_to_user_page macro is used in mm/memory.c:access_process_vm
      function. This function is called from ptrace code (POKETEXT, POKEDATA)
      which write data to memory. Microblaze handle physical address for
      caches that's why there is virt_to_phys conversion.
      
      There is potential one location which can caused the problem on WB system.
      
      The important is take a look at write PTRACEs requests
      (POKE/TEXT, DATA, USR).
      
      Note:
      Majority of Microblaze PTRACE code is moved to generic location
      in newer kernel version that's why this solution should work on
      the newest kernel version too.
      
      linux/io.h is in cacheflush because of mm/nommu.c
      
      Tested on a WB system - hello world debugging.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      6847ba91
    • M
      microblaze: Implement flush_dcache_page macro · 79e87830
      Michal Simek 提交于
      flush_dcache_page macro is necessary to implement for
      JFFS2 rootfs support on WB system.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      79e87830
  5. 02 8月, 2010 1 次提交
    • M
      microblaze: Fix __copy_to/from_user_inatomic macros · 8d7ec6ee
      Michal Simek 提交于
      __copy_to/from_user_inatomic should call __copy_to/from_user
      because there is not necessary to check access because of kernel function.
      
      might_sleep in copy_to/from_user macros is causing problems
      in debug sessions too (CONFIG_DEBUG_SPINLOCK_SLEEP).
      
      BUG: sleeping function called from invalid context at
      .../arch/microblaze/include/asm/uaccess.h:388
      in_atomic(): 1, irqs_disabled(): 0, pid: 1, name: swapper
      1 lock held by swapper/1:
       #0:  (&p->cred_guard_mutex){......}, at: [<c00d4b90>] prepare_bprm_creds+0x2c/0x88
      Kernel Stack:
      ...
      
      Call Trace:
      [<c0006bd4>] microblaze_unwind+0x7c/0x94
      [<c0006684>] show_stack+0xf4/0x190
      [<c0006730>] dump_stack+0x10/0x30
      [<c00103a0>] __might_sleep+0x12c/0x160
      [<c0090de4>] file_read_actor+0x1d8/0x2a8
      [<c0091568>] generic_file_aio_read+0x6b4/0xa64
      [<c00cd778>] do_sync_read+0xac/0x110
      [<c00ce254>] vfs_read+0xc8/0x160
      [<c00d585c>] kernel_read+0x38/0x64
      [<c00d5984>] prepare_binprm+0xfc/0x130
      [<c00d6430>] do_execve+0x228/0x370
      [<c000614c>] microblaze_execve+0x58/0xa4
      
      caused by file_read_actor (mm/filemap.c) which calls
      __copy_to_user_inatomic.
      Signed-off-by: NMichal Simek <monstr@monstr.eu>
      8d7ec6ee
  6. 01 8月, 2010 1 次提交
    • G
      of/address: Clean up function declarations · 22ae782f
      Grant Likely 提交于
      This patch moves the declaration of of_get_address(), of_get_pci_address(),
      and of_pci_address_to_resource() out of arch code and into the common
      linux/of_address header file.
      
      This patch also fixes some of the asm/prom.h ordering issues.  It still
      includes some header files that it ideally shouldn't be, but at least the
      ordering is consistent now so that of_* overrides work.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      22ae782f
  7. 30 7月, 2010 1 次提交
  8. 24 7月, 2010 2 次提交
  9. 19 7月, 2010 1 次提交
  10. 15 7月, 2010 1 次提交
  11. 14 7月, 2010 1 次提交
  12. 06 7月, 2010 9 次提交
    • G
      of: Merge of_device_alloc() and of_device_make_bus_id() · 94c09319
      Grant Likely 提交于
      This patch merges the common routines of_device_alloc() and
      of_device_make_bus_id() from powerpc and microblaze.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Grant Likely <grant.likely@secretlab.ca>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      CC: microblaze-uclinux@itee.uq.edu.au
      CC: linuxppc-dev@ozlabs.org
      CC: devicetree-discuss@lists.ozlabs.org
      94c09319
    • G
      of/device: Merge of_platform_bus_probe() · 5fd200f3
      Grant Likely 提交于
      Merge common code between PowerPC and microblaze.  This patch merges
      the code that scans the tree and registers devices.  The functions
      merged are of_platform_bus_probe(), of_platform_bus_create(), and
      of_platform_device_create().
      
      This patch also move the of_default_bus_ids[] table out of a Microblaze
      header file and makes it non-static.  The device ids table isn't merged
      because powerpc and microblaze use different default data.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Grant Likely <grant.likely@secretlab.ca>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      CC: microblaze-uclinux@itee.uq.edu.au
      CC: linuxppc-dev@ozlabs.org
      5fd200f3
    • G
      of: Modify of_device_get_modalias to be passed struct device · 34a1c1e8
      Grant Likely 提交于
      Now that the of_node pointer is part of struct device,
      of_device_get_modalias could be used on any struct device
      that has the device node pointer set.  This patch changes
      of_device_get_modalias to accept a struct device instead
      of a struct of_device.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      CC: microblaze-uclinux@itee.uq.edu.au
      CC: linuxppc-dev@ozlabs.org
      34a1c1e8
    • G
      of/device: merge of_device_uevent · dd27dcda
      Grant Likely 提交于
      Merge common code between powerpc and microblaze
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: microblaze-uclinux@itee.uq.edu.au
      CC: linuxppc-dev@ozlabs.org
      dd27dcda
    • G
      of/address: Merge all of the bus translation code · dbbdee94
      Grant Likely 提交于
      Microblaze and PowerPC share a large chunk of code for translating
      OF device tree data into usable addresses.  Differences between the two
      consist of cosmetic differences, and the addition of dma-ranges support
      code to powerpc but not microblaze.  This patch moves the powerpc
      version into common code and applies many of the cosmetic (non-functional)
      changes from the microblaze version.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Wolfram Sang <w.sang@pengutronix.de>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      dbbdee94
    • G
      of/address: merge of_address_to_resource() · 1f5bef30
      Grant Likely 提交于
      Merge common code between PowerPC and Microblaze.  This patch also
      moves the prototype of pci_address_to_pio() out of pci-bridge.h and
      into prom.h because the only user of pci_address_to_pio() is
      of_address_to_resource().
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      1f5bef30
    • G
      of/address: merge of_iomap() · 6b884a8d
      Grant Likely 提交于
      Merge common code between Microblaze and PowerPC.  This patch creates
      new of_address.h and address.c files to containing address translation
      and mapping routines.  First routine to be moved it of_iomap()
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      6b884a8d
    • G
      of/irq: merge irq mapping code · 7dc2e113
      Grant Likely 提交于
      Merge common irq mapping code between PowerPC and Microblaze.
      
      This patch merges of_irq_find_parent(), of_irq_map_raw() and
      of_irq_map_one().  The functions are dependent on one another, so all
      three are merged in a single patch.  Other than cosmetic difference
      (ie. DBG() vs. pr_debug()), the implementations are identical.
      
      of_irq_to_resource() is also merged, but in this case the
      implementations are different.  This patch drops the microblaze version
      and uses the powerpc implementation unchanged.  The microblaze version
      essentially open-coded irq_of_parse_and_map() which it does not need
      to do.  Therefore the powerpc version is safe to adopt.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      CC: Michal Simek <monstr@monstr.eu>
      CC: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      CC: Stephen Rothwell <sfr@canb.auug.org.au>
      7dc2e113
    • G
      of/microblaze: strip out of_irq_workarounds code · b6295c8b
      Grant Likely 提交于
      Microblaze doesn't have any legacy workaround in the device tree irq
      mapping data.  All of the of_irq_workarounds stuff can be dropped
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      b6295c8b
  13. 29 6月, 2010 2 次提交
    • G
      of/irq: Move irq_of_parse_and_map() to common code · e3873444
      Grant Likely 提交于
      Merge common code between PowerPC and Microblaze.  SPARC implements
      irq_of_parse_and_map(), but the implementation is different, so it
      does not use this code.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Jeremy Kerr <jeremy.kerr@canonical.com>
      e3873444
    • G
      of: kill struct of_device · b505ff5e
      Grant Likely 提交于
      Now that the device tree node pointer has been moved out of struct
      of_device and into the common struct device, there isn't anything
      unique about of_device anymore.  In fact, there isn't much need
      for a separate of_bus when all busses have access to OF style
      probing.
      
      arch/powerpc and arch/microblaze are moving away from using the of_bus
      and using the regular platform bus instead for mmio devices.  This
      patch makes of_device the same as platform_device as a stepping stone
      in migrating of_platform_drivers over to the platform bus.
      Signed-off-by: NGrant Likely <grant.likely@secretlab.ca>
      Acked-by: NDavid S. Miller <davem@davemloft.net>
      Cc: Michal Simek <monstr@monstr.eu>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      b505ff5e