15 Jan, 2012

1 commit

  • * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (119 commits)
    MIPS: Delete unused function add_temporary_entry.
    MIPS: Set default pci cache line size.
    MIPS: Flush huge TLB
    MIPS: Octeon: Remove SYS_SUPPORTS_HIGHMEM.
    MIPS: Octeon: Add support for OCTEON II PCIe
    MIPS: Octeon: Update PCI Latency timer and enable more error reporting.
    MIPS: Alchemy: Update cpu-feature-overrides
    MIPS: Alchemy: db1200: Improve PB1200 detection.
    MIPS: Alchemy: merge Au1000 and Au1300-style IRQ controller code.
    MIPS: Alchemy: chain IRQ controllers to MIPS IRQ controller
    MIPS: Alchemy: irq: register pm at irq init time
    MIPS: Alchemy: Touchscreen support on DB1100
    MIPS: Alchemy: Hook up IrDA on DB1000/DB1100
    net/irda: convert au1k_ir to platform driver.
    MIPS: Alchemy: remove unused board headers
    MTD: nand: make au1550nd.c a platform_driver
    MIPS: Netlogic: Mark Netlogic chips as SMT capable
    MIPS: Netlogic: Add support for XLP 3XX cores
    MIPS: Netlogic: Merge some of XLR/XLP wakup code
    MIPS: Netlogic: Add default XLP config.
    ...

    Fix up trivial conflicts in arch/mips/kernel/{perf_event_mipsxx.c,
    traps.c} and drivers/tty/serial/Makefile

    Linus Torvalds
     

09 Dec, 2011

1 commit

  • mips used early_node_map[] just to prime free_area_init_nodes(). Now
    memblock can be used for the same purpose and early_node_map[] is
    scheduled to be dropped. Use memblock instead.

    Signed-off-by: Tejun Heo
    Acked-by: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Yinghai Lu
    Cc: linux-mips@linux-mips.org

    Tejun Heo
     

08 Dec, 2011

1 commit

  • This patch addresses a couple of related problems:

    1) The kernel may reside in physical memory outside of the ranges set
    by plat_mem_setup(). If this is the case, init mem cannot be
    reused as it resides outside of the range of pages that the kernel
    memory allocators control.

    2) initrd images might be loaded in physical memory outside of the
    ranges set by plat_mem_setup(). The memory likewise cannot be
    reused. The patch doesn't handle this specific case, but the
    infrastructure is useful for future patches that do.

    The crux of the problem is that there are memory regions that need be
    memory_present(), but that cannot be free_bootmem() at the time of
    arch_mem_init(). We create a new type of memory (BOOT_MEM_INIT_RAM)
    for use with add_memory_region(). Then arch_mem_init() adds the init
    mem with this type if the init mem is not already covered by existing
    ranges.

    When memory is being freed into the bootmem allocator, we skip the
    BOOT_MEM_INIT_RAM ranges so they are not clobbered, but we do signal
    them as memory_present(). This way when they are later freed, the
    necessary memory manager structures have initialized and the Sparse
    allocater is prevented from crashing.

    The Octeon specific code that handled this case is removed, because
    the new general purpose code handles the case.

    Signed-off-by: David Daney
    To: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/1988/
    Signed-off-by: Ralf Baechle

    David Daney
     

01 Nov, 2011

1 commit


19 Jan, 2011

1 commit

  • Just do what everyone else is doing by placing __read_mostly things in
    the .data.read_mostly section.

    mips_io_port_base can not be read-only (const) and writable
    (__read_mostly) at the same time. One of them has to go, so I chose
    to eliminate the __read_mostly. It will still get stuck in a portion
    of memory that is not adjacent to things that are written, and thus
    not be on a dirty cache line, for whatever that is worth.

    Signed-off-by: David Daney
    To: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/1702/
    Signed-off-by: Ralf Baechle

    David Daney
     

30 Oct, 2010

1 commit


22 Oct, 2010

1 commit

  • Add the ability to enable CONFIG_OF on the MIPS architecture.

    Signed-off-by: Dezhong Diao
    [grant.likely@secretlab.ca: cleared out obsolete hooks,
    removed ARCH_HAS_DEVTREE_MEM,
    remove __init tags from header file,
    removed debugfs support hunk]
    [ddaney@linux-mips.org: backed out over aggressive trimming of hooks]
    Acked-by: Ralf Baechle
    Tested-by: David Daney
    Signed-off-by: Grant Likely

    Dezhong Diao
     

22 May, 2010

1 commit

  • The "nofpu" and "nodsp" kernel command line options currently do not
    affect CPUs that are brought online later in the boot process or
    hotplugged at runtime. It is desirable to apply the nofpu/nodsp options
    to all CPUs in the system, so that surprising results are not seen when
    a process migrates from one CPU to another.

    [Ralf: Moved definitions of mips_fpu_disabled, fpu_disable,
    mips_dsp_disabled and dsp_disable from setup.c to cpu-probe.c to allow
    making mips_fpu_disabled and mips_dsp_disabled static.]

    Signed-off-by: Kevin Cernekee
    Cc: linux-mips@linux-mips.org
    Cc: linux-kernel@vger.kernel.org
    Patchwork: http://patchwork.linux-mips.org/patch/1169/
    Signed-off-by: Ralf Baechle

    Kevin Cernekee
     

17 Dec, 2009

3 commits

  • Currently, MIPS kernels silently overwrite kernel command-line parameters
    hardcoded in CONFIG_CMDLINE by the ones received from firmware. Therefore,
    using firmware remains the only reliable method to transfer the
    command-line parameters, which is not always desirable or convenient, and
    the CONFIG_CMDLINE option is thereby effectively rendered useless.

    This patch fixes the problem described above and introduces a more flexible
    scheme of handling the kernel command line, in a manner identical to what is
    currently used for x86. The default behavior, i.e. when CONFIG_CMDLINE_BOOL
    is not defined, retains the existing semantics, and firmware command-line
    arguments override the hardcoded ones.

    [Ralf: I fixed up all the defconfig files so the stay unaffected by this
    change.]

    Signed-off-by: Dmitri Vorobiev
    Cc: linux-mips@linux-mips.org
    Patchwork: http://patchwork.linux-mips.org/patch/689/
    Signed-off-by: Ralf Baechle

    Dmitri Vorobiev
     
  • Addinitrd has been superseded by initramfs ages ago.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • The MIPS-specific macro CL_SIZE is merely aliasing the macro
    COMMAND_LINE_SIZE. Other architectures use the latter; also,
    COMMAND_LINE_SIZE is documented in kernel-parameters.txt, so
    let's use it, and remove the alias.

    Signed-off-by: Dmitri Vorobiev
    Signed-off-by: Ralf Baechle

    Dmitri Vorobiev
     

18 Sep, 2009

1 commit


30 Mar, 2009

1 commit


28 Oct, 2008

1 commit


06 Sep, 2008

1 commit

  • Currently init_initrd() probes initrd header at the last page of kernel
    image, but it is valid only if addinitrd was used. If addinitrd was not
    used, the area contains garbage so probing there might misdetect initrd
    header (magic number is not strictly robust).

    This patch introduces CONFIG_PROBE_INITRD_HEADER to explicitly enable this
    probing.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     

26 Aug, 2008

1 commit


16 Jul, 2008

2 commits

  • This patch fixes the following sparse warning:

    <<<<<<<<

    arch/mips/kernel/early_printk.c:35:13: warning: symbol 'setup_early_printk'
    was not declared. Should it be static?

    <<<<<<<<

    The fix is to define a prototype of the setup_early_printk() function and
    to include the appropriate header into arch/mips/kernel/early_printk.c.

    [Ralf: Sorted includes again]

    Signed-off-by: Dmitri Vorobiev
    Signed-off-by: Ralf Baechle

    Dmitri Vorobiev
     
  • The isa_slot_offset variable and its __ISA_IO_base macro is not used
    anywhere anymore. It does not look like a decent interface per today's
    standards either. Remove both including all places of initialization.

    Signed-off-by: Maciej W. Rozycki
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

12 May, 2008

1 commit

  • This was dropped by

    commit a0d9e2d891e4cf54676c430da63bd4a17d1cdb80 (lmo)
    commit b6f1f0dea1469e0c956eb89399916d60dd2a3808 (ko)
    Author: Franck Bui-Huu
    Date: Fri Aug 11 17:51:48 2006 +0200

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

08 Feb, 2008

1 commit

  • This patchset adds a flags variable to reserve_bootmem() and uses the
    BOOTMEM_EXCLUSIVE flag in crashkernel reservation code to detect collisions
    between crashkernel area and already used memory.

    This patch:

    Change the reserve_bootmem() function to accept a new flag BOOTMEM_EXCLUSIVE.
    If that flag is set, the function returns with -EBUSY if the memory already
    has been reserved in the past. This is to avoid conflicts.

    Because that code runs before SMP initialisation, there's no race condition
    inside reserve_bootmem_core().

    [akpm@linux-foundation.org: coding-style fixes]
    [akpm@linux-foundation.org: fix powerpc build]
    Signed-off-by: Bernhard Walle
    Cc:
    Cc: "Eric W. Biederman"
    Cc: Vivek Goyal
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Bernhard Walle
     

03 Feb, 2008

1 commit


29 Jan, 2008

2 commits

  • Signed-off-by: Ralf Baechle

    Ralf Baechle
     
  • This is the gereric part of R4000/R4400 errata workarounds. They include
    compiler and assembler support as well as some source code modifications
    to address the problems with some combinations of multiply/divide+shift
    instructions as well as the daddi and daddiu instructions.

    Changes included are as follows:

    1. New Kconfig options to select workarounds by platforms as necessary.

    2. Arch top-level Makefile to pass necessary options to the compiler; also
    incompatible configurations are detected (-mno-sym32 unsupported as
    horribly intrusive for little gain).

    3. Bug detection updated and shuffled -- the multiply/divide+shift problem
    is lethal enough that if not worked around it makes the kernel crash in
    time_init() because of a division by zero; the daddiu erratum might
    also trigger early potentially, though I have not observed it. On the
    other hand the daddi detection code requires the exception subsystem to
    have been initialised (and is there mainly for information).

    4. r4k_daddiu_bug() added so that the existence of the erratum can be
    queried by code at the run time as necessary; useful for generated code
    like TLB fault and copy/clear page handlers.

    5. __udelay() updated as it uses multiplication in inline assembly.

    Note that -mdaddi requires modified toolchain (which has been maintained
    by myself and available from my site for ~4years now -- versions covered
    are GCC 2.95.4 - 4.1.2 and binutils from 2.13 onwards). The -mfix-r4000
    and -mfix-r4400 have been standard for a while though.

    Signed-off-by: Maciej W. Rozycki
    Signed-off-by: Ralf Baechle

    Maciej W. Rozycki
     

12 Jan, 2008

1 commit


27 Nov, 2007

1 commit

  • Sibyte SOCs only have 32-bit PCI. Due to the sparse use of the address
    space only the first 1GB of memory is mapped at physical addresses
    below 1GB. If a system has more than 1GB of memory 32-bit DMA will
    not be able to reach all of it.

    For now this patch is good enough to keep Sibyte users happy but it seems
    eventually something like swiotlb will be needed for Sibyte.

    Signed-off-by: Ralf Baechle

    Ralf Baechle
     

12 Oct, 2007

1 commit


11 Jul, 2007

1 commit

  • Currently a number of unaligned instructions is counted but not used.
    Add /debug/mips/unaligned_instructions file to show the value.

    And add /debug/mips/unaligned_action to control behavior upon an
    unaligned access. Possible actions are:

    0: silently fixup the unaligned access.
    1: send SIGBUS.
    2: dump registers, process name, etc. and fixup.

    Signed-off-by: Atsushi Nemoto
    Signed-off-by: Ralf Baechle

    Atsushi Nemoto
     

05 Mar, 2007

1 commit


20 Feb, 2007

1 commit


13 Feb, 2007

1 commit


07 Feb, 2007

4 commits


30 Nov, 2006

3 commits


03 Nov, 2006

1 commit


27 Sep, 2006

2 commits