1. 17 12月, 2010 1 次提交
    • M
      MIPS: LD/SD o32 macro GAS fix update · 82b89152
      Maciej W. Rozycki 提交于
      I am about to commit:
      
      http://sourceware.org/ml/binutils/2010-10/msg00033.html
      
      that fixes a problem with the LD/SD macro currently implemented by GAS for
      the o32 ABI in an inconsistent way.  This is best illustrated with a
      simple program, which I'm copying here from the message above for easier
      reference:
      
      $ cat ld.s
      	ld	$5,32767($4)
      	ld	$5,32768($4)
      
      This gets assebled into the following output:
      
      $ mips-linux-as -32 -mips3 -o ld.o ld.s
      $ mips-linux-objdump -d ld.o
      
      ld.o:     file format elf32-tradbigmips
      
      Disassembly of section .text:
      
      00000000 <.text>:
         0:	dc857fff 	ld	a1,32767(a0)
         4:	3c010001 	lui	at,0x1
         8:	00810821 	addu	at,a0,at
         c:	8c258000 	lw	a1,-32768(at)
        10:	8c268004 	lw	a2,-32764(at)
      	...
      
      Oops!
      
       The GAS fix makes the macro behave in a consistent way and pairs of LW/SW
      instructions to be output as appropriate regardless of the size of the
      offset associated with the address used.  The machine instruction is still
      available, but to reach it macros have to be disabled first.  This has a
      side effect of requiring the use of a machine-addressable memory operand.
      
       As some platforms require 64-bit operations for accesses to some I/O
      registers LD/SD instructions are used in a couple of places in Linux
      regardless of the ABI selected.  Here's a fix for some pieces of code
      affected I've been able to track down.  The fix should be backwards
      compatible with all supported binutils releases in existence and can be
      used as a reference for any other places or off-tree code.  The use of the
      "R" constraint guarantees a machine-addressable operand.
      Signed-off-by: NMaciej W. Rozycki <macro@linux-mips.org>
      Cc: linux-mips@linux-mips.org
      Patchwork: https://patchwork.linux-mips.org/patch/1680/Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      82b89152
  2. 27 2月, 2010 1 次提交
  3. 11 1月, 2009 1 次提交
  4. 11 10月, 2008 1 次提交
  5. 16 7月, 2008 1 次提交
  6. 29 4月, 2008 1 次提交
  7. 17 10月, 2007 1 次提交
  8. 12 10月, 2007 1 次提交
  9. 13 7月, 2007 1 次提交
  10. 11 7月, 2007 1 次提交
  11. 19 2月, 2007 1 次提交
    • R
      [MIPS] Iomap implementation. · 140c1729
      Ralf Baechle 提交于
      This implementation has support for the concept of one separate ioport
      address space by PCI domain.  A pointer to the virtual address where
      the port space of a domain has been mapped has been added to struct
      pci_controller and systems should be fixed to fill in this value. For
      single domain systems this will be the same value as passed to
      set_io_port_base().
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      140c1729
  12. 10 2月, 2007 1 次提交
  13. 07 2月, 2007 1 次提交
    • F
      [MIPS] FLATMEM: introduce PHYS_OFFSET. · 6f284a2c
      Franck Bui-Huu 提交于
      The old code was assuming that min_low_pfn was always 0. This
      means that platforms having a big hole at their memory start
      paid the price of wasting some memory for the allocation of
      unused entries in mem_map[].
      
      This patch prevents this waste.
      
      It introduces PHYS_OFFSET define which is the start of the
      physical memory and uses it wherever needed. Specially when
      converting physical/virtual addresses into virtual/physical
      ones.
      
      Currently all platforms defines PHYS_OFFSET to 0.
      Signed-off-by: NFranck Bui-Huu <fbuihuu@gmail.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      6f284a2c
  14. 30 11月, 2006 1 次提交
    • 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
  15. 20 10月, 2006 1 次提交
  16. 12 10月, 2006 1 次提交
  17. 26 4月, 2006 1 次提交
  18. 24 3月, 2006 1 次提交
  19. 21 3月, 2006 1 次提交
    • A
      [MIPS] Make I/O helpers more customizable · a8433137
      Atsushi Nemoto 提交于
          
      1. Move ioswab*() and __mem_ioswab*() to mangle-port.h.  This gets rid
         of CONFIG_SGI_IP22 from include/asm-mips/io.h.
          
      2. Pass a virtual address to *ioswab*().  Then we can provide
         mach-specific *ioswab*() and can do every evil thing based on its
         argument.  It could be useful on machines which have regions with
         different endian conversion scheme.
          
      3. Call __swizzle_addr*() _after_ adding mips_io_port_base.  This
         unifies the meaning of the argument of __swizzle_addr*() (always
         virtual address).  Then mach-specific __swizzle_addr*() can do every
         evil thing based on the argument.
      Signed-off-by: NAtsushi Nemoto <anemo@mba.ocn.ne.jp>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      a8433137
  20. 19 3月, 2006 1 次提交
  21. 01 3月, 2006 1 次提交
  22. 09 2月, 2006 1 次提交
  23. 08 2月, 2006 2 次提交
  24. 18 11月, 2005 1 次提交
  25. 30 10月, 2005 7 次提交
  26. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4