1. 11 12月, 2006 1 次提交
  2. 09 12月, 2006 1 次提交
  3. 08 12月, 2006 3 次提交
  4. 30 11月, 2006 6 次提交
    • R
    • A
      [MIPS] Remove redundant r4k_blast_icache() calls · 0550d9d1
      Atsushi Nemoto 提交于
      r4k_flush_cache_all() and r4k_flush_cache_mm() case: these are noop if
      the CPU did not have dc_aliases.  It would mean we do not need to care
      about icache here.
      
      r4k_flush_cache_range case: if r4k_flush_cache_mm() did not need to
      care about icache, it would be same for this function.
      Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      0550d9d1
    • A
      [MIPS] Load modules to CKSEG0 if CONFIG_BUILD_ELF64=n · 656be92f
      Atsushi Nemoto 提交于
      This is a patch to load 64-bit modules to CKSEG0 so that can be
      compiled with -msym32 option.  This makes each module ~10% smaller.
      
      * introduce MODULE_START and MODULE_END
      * custom module_alloc()
      * PGD for modules
      * change XTLB refill handler synthesizer
      * enable -msym32 for modules again
        (revert ca78b1a5c6a6e70e052d3ea253828e49b5d07c8a)
      
      New XTLB refill handler looks like this:
      
      80000080 dmfc0   k0,C0_BADVADDR
      80000084 bltz    k0,800000e4			# goto l_module_alloc
      80000088 lui     k1,0x8046			# %high(pgd_current)
      8000008c ld      k1,24600(k1)			# %low(pgd_current)
      80000090 dsrl    k0,k0,0x1b			# l_vmalloc_done:
      80000094 andi    k0,k0,0x1ff8
      80000098 daddu   k1,k1,k0
      8000009c dmfc0   k0,C0_BADVADDR
      800000a0 ld      k1,0(k1)
      800000a4 dsrl    k0,k0,0x12
      800000a8 andi    k0,k0,0xff8
      800000ac daddu   k1,k1,k0
      800000b0 dmfc0   k0,C0_XCONTEXT
      800000b4 ld      k1,0(k1)
      800000b8 andi    k0,k0,0xff0
      800000bc daddu   k1,k1,k0
      800000c0 ld      k0,0(k1)
      800000c4 ld      k1,8(k1)
      800000c8 dsrl    k0,k0,0x6
      800000cc mtc0    k0,C0_ENTRYLO0
      800000d0 dsrl    k1,k1,0x6
      800000d4 mtc0    k1,C0_ENTRYL01
      800000d8 nop
      800000dc tlbwr
      800000e0 eret
      800000e4 dsll    k1,k0,0x2			# l_module_alloc:
      800000e8 bgez    k1,80000008			# goto l_vmalloc
      800000ec lui     k1,0xc000
      800000f0 dsubu   k0,k0,k1
      800000f4 lui     k1,0x8046			# %high(module_pg_dir)
      800000f8 beq     zero,zero,80000000
      800000fc nop
      80000000 beq     zero,zero,80000090		# goto l_vmalloc_done
      80000004 daddiu  k1,k1,0x4000
      80000008 dsll32  k1,k1,0x0			# l_vmalloc:
      8000000c dsubu   k0,k0,k1
      80000010 beq     zero,zero,80000090		# goto l_vmalloc_done
      80000014 lui     k1,0x8046			# %high(swapper_pg_dir)
      Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      656be92f
    • F
      [MIPS] Make free_init_pages() arguments to be physical addresses · acd86b86
      Franck Bui-Huu 提交于
      It allows caller of this function to not care about CKSEG0/XKPHYS
      address mixes. It's now automatically done by free_init_pages().
      
      We can now safely remove hack needed by 64 bit kernels with
      CONFIG_BUILD_ELF64=n in free_initmem().
      Signed-off-by: NFranck Bui-Huu <fbuihuu@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      acd86b86
    • F
      [MIPS] setup.c: clean up initrd related code · a7837b76
      Franck Bui-Huu 提交于
      Signed-off-by: NFranck Bui-Huu <fbuihuu@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      a7837b76
    • F
      [MIPS] page.h: remove __pa() usages. · 99e3b942
      Franck Bui-Huu 提交于
      __pa() was used by virt_to_page() and virt_addr_valid(). These
      latter are used when kernel is initialised so __pa() is not
      appropriate, we use virt_to_phys() instead.
      
      Futhermore __pa() is going to take care of CKSEG0/XKPHYS
      address mix for 64 bit kernels. This makes __pa() more complex
      than virt_to_phys() and this extra work is not needed by
      virt_to_page() and virt_addr_valid().
      
      Eventually it consolidates virt_to_phys() prototype by making
      its argument 'const'. this avoids some warnings that was due
      to some virt_to_page() usages which pass const pointer.
      Signed-off-by: NFranck Bui-Huu <fbuihuu@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      99e3b942
  5. 23 11月, 2006 1 次提交
  6. 07 11月, 2006 1 次提交
  7. 02 11月, 2006 1 次提交
  8. 31 10月, 2006 2 次提交
  9. 22 10月, 2006 1 次提交
  10. 20 10月, 2006 1 次提交
  11. 04 10月, 2006 2 次提交
  12. 02 10月, 2006 2 次提交
  13. 30 9月, 2006 1 次提交
  14. 27 9月, 2006 6 次提交
    • R
      [MIPS] Replace BARRIER with more appropriate hazard barrier. · 432bef2a
      Ralf Baechle 提交于
      This is the unchanged part 2 of Chris' hazard cleanup.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      432bef2a
    • R
      [MIPS] c-r4k: Convert init functions from inline to __init. · a00f6310
      Ralf Baechle 提交于
      With more recent compilers inline doesn't necessarily means a function
      will always be inlined.  So leave that decission to the compiler and
      make the function as __init.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      a00f6310
    • R
      [MIPS] Make PROT_WRITE imply PROT_READ. · 00932ba3
      Ralf Baechle 提交于
      00932ba3
    • A
      [MIPS] Do not use drop_mmu_context to flusing other task's VIPT I-cache. · f6502791
      Atsushi Nemoto 提交于
      c-r4k.c and c-sb1.c use drop_mmu_context() to flush virtually tagged
      I-caches, but this does not work for flushing other task's icache.  This
      is for example triggered by copy_to_user_page() called from ptrace(2).
      Use indexed flush for such cases.
      Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      f6502791
    • R
      [MIPS] Retire flush_icache_page from mm use. · 585fa724
      Ralf Baechle 提交于
      On the 34K the redundant cache operations were causing excessive stalls
      resulting in realtime code running on the second VPE missing its deadline.
      For all other platforms this patch is just a significant performance
      improvment as illustrated by below benchmark numbers.
      
      Processor, Processes - times in microseconds - smaller is better
      ------------------------------------------------------------------------------
      Host                 OS  Mhz null null      open slct sig  sig  fork exec sh
                                   call  I/O stat clos TCP  inst hndl proc proc proc
      --------- ------------- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ----
      25Kf      2.6.18-rc4     533 0.49 1.16 7.57 33.4 30.5 1.34 12.4 5497 17.K 54.K
      25Kf      2.6.18-rc4-p   533 0.49 1.16 6.68 23.0 30.7 1.36 8.55 5030 16.K 48.K
      4Kc       2.6.18-rc4      80 4.21 15.0 131. 289. 261. 16.5 258. 18.K 70.K 227K
      4Kc       2.6.18-rc4-p    80 4.34 13.1 128. 285. 262. 18.2 258. 12.K 52.K 176K
      34Kc      2.6.18-rc4      40 5.01 14.0 61.6 90.0 477. 17.9 94.7 29.K 108K 342K
      34Kc      2.6.18-rc4-p    40 4.98 13.9 61.2 89.7 475. 17.6 93.7 8758 44.K 158K
      BCM1480   2.6.18-rc4     700 0.28 0.60 3.68 5.92 16.0 0.78 5.08 931. 3163 15.K
      BCM1480   2.6.18-rc4-p   700 0.28 0.61 3.65 5.85 16.0 0.79 5.20 395. 1464 8385
      TX49-16K  2.6.18-rc3     197 0.73 2.41 19.0 37.8 82.9 2.94 17.5 4438 14.K 56.K
      TX49-16K  2.6.18-rc3-p   197 0.73 2.40 19.9 36.3 82.9 2.94 23.4 2577 9103 38.K
      TX49-32K  2.6.18-rc3     396 0.36 1.19 6.80 11.8 41.0 1.46 8.17 2738 8465 32.K
      TX49-32K  2.6.18-rc3-p   396 0.36 1.19 6.82 10.2 41.0 1.46 8.18 1330 4638 18.K
          
      Original patch by me with enhancements by Atsushi Nemoto.
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      585fa724
    • R
      [MIPS] c-r4k: Typo fix. · df586d59
      Ralf Baechle 提交于
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      df586d59
  15. 26 9月, 2006 1 次提交
  16. 14 7月, 2006 7 次提交
  17. 01 7月, 2006 1 次提交
  18. 30 6月, 2006 2 次提交