1. 31 7月, 2014 4 次提交
    • H
      MIPS: Loongson: Rename CONFIG_LEMOTE_MACH3A to CONFIG_LOONGSON_MACH3X · 5a21e0ba
      Huacai Chen 提交于
      Since this CONFIG option will be used for both Loongson-3A/3B machines,
      and not all Loongson-3 machines are produced by Lemote, we rename
      CONFIG_LEMOTE_MACH3A to CONFIG_LOONGSON_MACH3X.
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Cc: John Crispin <john@phrozen.org>
      Cc: Steven J. Hill <Steven.Hill@imgtec.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: linux-mips@linux-mips.org
      Cc: Fuxin Zhang <zhangfx@lemote.com>
      Cc: Zhangjin Wu <wuzhangjin@gmail.com>
      Patchwork: https://patchwork.linux-mips.org/patch/7190/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      5a21e0ba
    • H
      MIPS: Add Loongson-3B support · e7841be5
      Huacai Chen 提交于
      Loongson-3B is a 8-cores processor. In general it looks like there are
      two Loongson-3A integrated in one chip: 8 cores are separated into two
      groups (two NUMA node), each node has its own local memory.
      
      Of course there are some differences between one Loongson-3B and two
      Loongson-3A. E.g., the base addresses of IPI registers of each node are
      not the same; Loongson-3A use ChipConfig register to enable/disable
      clock, but Loongson-3B use FreqControl register instead.
      
      There are two revision of Loongson-3B, the first revision is called as
      Loongson-3B1000, whose frequency is 1GHz and has a PRid 0x6306, the
      second revision is called as Loongson-3B1500, whose frequency is 1.5GHz
      and has a PRid 0x6307. Both revisions has a bug that clock cannot be
      disabled at runtime, but this will be fixed in future.
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Cc: John Crispin <john@phrozen.org>
      Cc: Steven J. Hill <Steven.Hill@imgtec.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: linux-mips@linux-mips.org
      Cc: Fuxin Zhang <zhangfx@lemote.com>
      Cc: Zhangjin Wu <wuzhangjin@gmail.com>
      Patchwork: https://patchwork.linux-mips.org/patch/7188/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      e7841be5
    • H
      MIPS: Add NUMA support for Loongson-3 · c4617318
      Huacai Chen 提交于
      Multiple Loongson-3A chips can be interconnected with HT0-bus. This is
      a CC-NUMA system that every chip (node) has its own local memory and
      cache coherency is maintained by hardware. The 64-bit physical memory
      address format is as follows:
      
      0x-0000-YZZZ-ZZZZ-ZZZZ
      
      The high 16 bits should be 0, which means the real physical address
      supported by Loongson-3 is 48-bit. The "Y" bits is the base address of
      each node, which can be also considered as the node-id. The "Z" bits is
      the address offset within a node, which means every node has a 44 bits
      address space.
      
      Macros XPHYSADDR and MAX_PHYSMEM_BITS are modified unconditionally,
      because many other MIPS CPUs have also extended their address spaces.
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Cc: John Crispin <john@phrozen.org>
      Cc: Steven J. Hill <Steven.Hill@imgtec.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: linux-mips@linux-mips.org
      Cc: Fuxin Zhang <zhangfx@lemote.com>
      Cc: Zhangjin Wu <wuzhangjin@gmail.com>
      Patchwork: https://patchwork.linux-mips.org/patch/7187/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      c4617318
    • H
      MIPS: Loongson: Modify ChipConfig register definition · 140e39c1
      Huacai Chen 提交于
      This patch is prepared for Multi-chip interconnection. Since each chip
      has a ChipConfig register, LOONGSON_CHIPCFG should be an array.
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Cc: John Crispin <john@phrozen.org>
      Cc: Steven J. Hill <Steven.Hill@imgtec.com>
      Cc: Aurelien Jarno <aurelien@aurel32.net>
      Cc: linux-mips@linux-mips.org
      Cc: Fuxin Zhang <zhangfx@lemote.com>
      Cc: Zhangjin Wu <wuzhangjin@gmail.com>
      Patchwork: https://patchwork.linux-mips.org/patch/7185/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      140e39c1
  2. 01 4月, 2014 8 次提交
  3. 30 10月, 2013 1 次提交
  4. 08 5月, 2013 1 次提交
    • H
      MIPS: Build uasm-generated code only once to avoid CPU Hotplug problem · 8759934e
      Huacai Chen 提交于
      This and the next patch resolve memory corruption problems while CPU
      hotplug. Without these patches, memory corruption can triggered easily
      as below:
      
      On a quad-core MIPS platform, use "spawn" of UnixBench-5.1.3 (http://
      code.google.com/p/byte-unixbench/) and a CPU hotplug script like this
      (hotplug.sh):
      while true; do
      echo 0 >/sys/devices/system/cpu/cpu1/online
      echo 0 >/sys/devices/system/cpu/cpu2/online
      echo 0 >/sys/devices/system/cpu/cpu3/online
      sleep 1
      echo 1 >/sys/devices/system/cpu/cpu1/online
      echo 1 >/sys/devices/system/cpu/cpu2/online
      echo 1 >/sys/devices/system/cpu/cpu3/online
      sleep 1
      done
      
      Run "hotplug.sh" and then run "spawn 10000", spawn will get segfault
      after a few minutes.
      
      This patch:
      Currently, clear_page()/copy_page() are generated by Micro-assembler
      dynamically. But they are unavailable until uasm_resolve_relocs() has
      finished because jump labels are illegal before that. Since these
      functions are shared by every CPU, we only call build_clear_page()/
      build_copy_page() only once at boot time. Without this patch, programs
      will get random memory corruption (segmentation fault, bus error, etc.)
      while CPU Hotplug (e.g. one CPU is using clear_page() while another is
      generating it in cpu_cache_init()).
      
      For similar reasons we modify build_tlb_refill_handler()'s invocation.
      
      V2:
      1, Rework the code to make CPU#0 can be online/offline.
      2, Introduce cpu_has_local_ebase feature since some types of MIPS CPU
         need a per-CPU tlb_refill_handler().
      Signed-off-by: NHuacai Chen <chenhc@lemote.com>
      Signed-off-by: NHongbing Hu <huhb@lemote.com>
      Acked-by: NDavid Daney <david.daney@cavium.com>
      Patchwork: http://patchwork.linux-mips.org/patch/4994/Acked-by: NJohn Crispin <blogic@openwrt.org>
      8759934e
  5. 01 2月, 2013 1 次提交
  6. 14 12月, 2012 1 次提交
  7. 11 10月, 2012 1 次提交
  8. 02 8月, 2012 1 次提交
  9. 23 7月, 2012 1 次提交
  10. 26 7月, 2011 1 次提交
  11. 31 3月, 2011 1 次提交
  12. 07 10月, 2010 1 次提交
  13. 05 8月, 2010 2 次提交
  14. 22 5月, 2010 2 次提交
  15. 01 5月, 2010 1 次提交
  16. 27 2月, 2010 2 次提交
  17. 17 12月, 2009 11 次提交