1. 05 3月, 2007 1 次提交
  2. 27 2月, 2007 2 次提交
  3. 22 2月, 2007 1 次提交
  4. 20 2月, 2007 1 次提交
  5. 19 2月, 2007 1 次提交
  6. 14 2月, 2007 2 次提交
  7. 12 2月, 2007 1 次提交
    • R
      [PATCH] extend the set of "__attribute__" shortcut macros · 82ddcb04
      Robert P. J. Day 提交于
      Extend the set of "__attribute__" shortcut macros, and remove identical
      (and now superfluous) definitions from a couple of source files.
      
      based on a page at robert love's blog:
      
      	http://rlove.org/log/2005102601
      
      extend the set of shortcut macros defined in compiler-gcc.h with the
      following:
      
      #define __packed                       __attribute__((packed))
      #define __weak                         __attribute__((weak))
      #define __naked                        __attribute__((naked))
      #define __noreturn                     __attribute__((noreturn))
      #define __pure                         __attribute__((pure))
      #define __aligned(x)                   __attribute__((aligned(x)))
      #define __printf(a,b)                  __attribute__((format(printf,a,b)))
      
      Once these are in place, it's up to subsystem maintainers to decide if they
      want to take advantage of them.  there is already a strong precedent for
      using shortcuts like this in the source tree.
      
      The ones that might give people pause are "__aligned" and "__printf", but
      shortcuts for both of those are already in use, and in some ways very
      confusingly.  note the two very different definitions for a macro named
      "ALIGNED":
      
        drivers/net/sgiseeq.c:#define ALIGNED(x) ((((unsigned long)(x)) + 0xf) & ~(0xf))
        drivers/scsi/ultrastor.c:#define ALIGNED(x) __attribute__((aligned(x)))
      
      also:
      
        include/acpi/platform/acgcc.h:
          #define ACPI_PRINTF_LIKE(c) __attribute__ ((__format__ (__printf__, c, c+1)))
      
      Given the precedent, then, it seems logical to at least standardize on a
      consistent set of these macros.
      Signed-off-by: NRobert P. J. Day <rpjday@mindspring.com>
      Acked-by: NRalf Baechle <ralf@linux-mips.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      82ddcb04
  8. 07 2月, 2007 3 次提交
  9. 25 1月, 2007 1 次提交
  10. 19 1月, 2007 1 次提交
  11. 09 1月, 2007 1 次提交
  12. 14 12月, 2006 1 次提交
  13. 12 12月, 2006 1 次提交
  14. 11 12月, 2006 1 次提交
  15. 09 12月, 2006 1 次提交
  16. 08 12月, 2006 3 次提交
  17. 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
  18. 23 11月, 2006 1 次提交
  19. 07 11月, 2006 1 次提交
  20. 02 11月, 2006 1 次提交
  21. 31 10月, 2006 2 次提交
  22. 22 10月, 2006 1 次提交
  23. 20 10月, 2006 1 次提交
  24. 04 10月, 2006 2 次提交
  25. 02 10月, 2006 2 次提交
  26. 30 9月, 2006 1 次提交