1. 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
  2. 01 2月, 2013 1 次提交
  3. 14 12月, 2012 1 次提交
  4. 11 10月, 2012 1 次提交
  5. 02 8月, 2012 1 次提交
  6. 23 7月, 2012 1 次提交
  7. 26 7月, 2011 1 次提交
  8. 31 3月, 2011 1 次提交
  9. 07 10月, 2010 1 次提交
  10. 05 8月, 2010 2 次提交
  11. 22 5月, 2010 2 次提交
  12. 01 5月, 2010 1 次提交
  13. 27 2月, 2010 2 次提交
  14. 17 12月, 2009 12 次提交
  15. 02 11月, 2009 1 次提交
  16. 18 9月, 2009 3 次提交
    • W
      MIPS: Loongson: Add a machtype kernel command line argument · 3209e70e
      Wu Zhangjin 提交于
      The difference between some loongson-based machines is very small, so, if
      there is no necessary to add new kernel config options to cope with this
      difference, it will be better to share the same kernel image file between
      them, benefit from this, the linux distribution developers only have a need
      to compile the kernel one time.
      
      This machtype kernel command line argument will be used later to share the
      same kernel image file between two different machines(menglong & yeeloong)
      made by lemote.
      
      Thanks very much to Zhang Le for cleaning up the machtype implementation.
      Signed-off-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      3209e70e
    • W
      MIPS: Loongson: Split common loongson source code out · 85749d24
      Wu Zhangjin 提交于
      To share common loongson source code between all of the loongson-based
      machines. there is a need to split it out of the fuloong-2e/ directory.
      at the same time, other according tuning is needed. the machine-specific
      parts are defined as macros in relative header file, pci.h, mem.h,
      machine.h.
      Signed-off-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      85749d24
    • W
      MIPS: Loongson: Change naming methods · 8e497117
      Wu Zhangjin 提交于
      To make source code of loongson sharable to the machines(such as gdium)
      made by the other companies, we rename arch/mips/lemote to
      arch/mips/loongson, asm/mach-lemote to asm/mach-loongson, and rename lm2e
      to the name of the machine: fuloong-2e. accordingly, FULONG are renamed to
      FULOONG2E to make it distinguishable to the future FULOONG2F.  and also,
      some other relative tuning is needed.
      Signed-off-by: NWu Zhangjin <wuzhangjin@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      8e497117