12 Jan, 2012

1 commit

  • frv, h8300, m68k, microblaze, openrisc, score, um and xtensa currently
    do not register a CPU device. Add the config option GENERIC_CPU_DEVICES
    which causes a generic CPU device to be registered for each present CPU,
    and make all these architectures select it.

    Richard Weinberger covered UML and suggested using
    per_cpu.

    Signed-off-by: Ben Hutchings
    Signed-off-by: Linus Torvalds

    Ben Hutchings
     

11 Jan, 2012

1 commit

  • lib: use generic pci_iomap on all architectures

    Many architectures don't want to pull in iomap.c,
    so they ended up duplicating pci_iomap from that file.
    That function isn't trivial, and we are going to modify it
    https://lkml.org/lkml/2011/11/14/183
    so the duplication hurts.

    This reduces the scope of the problem significantly,
    by moving pci_iomap to a separate file and
    referencing that from all architectures.

    * tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
    alpha: drop pci_iomap/pci_iounmap from pci-noop.c
    mn10300: switch to GENERIC_PCI_IOMAP
    mn10300: add missing __iomap markers
    frv: switch to GENERIC_PCI_IOMAP
    tile: switch to GENERIC_PCI_IOMAP
    tile: don't panic on iomap
    sparc: switch to GENERIC_PCI_IOMAP
    sh: switch to GENERIC_PCI_IOMAP
    powerpc: switch to GENERIC_PCI_IOMAP
    parisc: switch to GENERIC_PCI_IOMAP
    mips: switch to GENERIC_PCI_IOMAP
    microblaze: switch to GENERIC_PCI_IOMAP
    arm: switch to GENERIC_PCI_IOMAP
    alpha: switch to GENERIC_PCI_IOMAP
    lib: add GENERIC_PCI_IOMAP
    lib: move GENERIC_IOMAP to lib/Kconfig

    Fix up trivial conflicts due to changes nearby in arch/{m68k,score}/Kconfig

    Linus Torvalds
     

09 Jan, 2012

2 commits

  • * 'pm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (76 commits)
    PM / Hibernate: Implement compat_ioctl for /dev/snapshot
    PM / Freezer: fix return value of freezable_schedule_timeout_killable()
    PM / shmobile: Allow the A4R domain to be turned off at run time
    PM / input / touchscreen: Make st1232 use device PM QoS constraints
    PM / QoS: Introduce dev_pm_qos_add_ancestor_request()
    PM / shmobile: Remove the stay_on flag from SH7372's PM domains
    PM / shmobile: Don't include SH7372's INTCS in syscore suspend/resume
    PM / shmobile: Add support for the sh7372 A4S power domain / sleep mode
    PM: Drop generic_subsys_pm_ops
    PM / Sleep: Remove forward-only callbacks from AMBA bus type
    PM / Sleep: Remove forward-only callbacks from platform bus type
    PM: Run the driver callback directly if the subsystem one is not there
    PM / Sleep: Make pm_op() and pm_noirq_op() return callback pointers
    PM/Devfreq: Add Exynos4-bus device DVFS driver for Exynos4210/4212/4412.
    PM / Sleep: Merge internal functions in generic_ops.c
    PM / Sleep: Simplify generic system suspend callbacks
    PM / Hibernate: Remove deprecated hibernation snapshot ioctls
    PM / Sleep: Fix freezer failures due to racy usermodehelper_is_disabled()
    ARM: S3C64XX: Implement basic power domain support
    PM / shmobile: Use common always on power domain governor
    ...

    Fix up trivial conflict in fs/xfs/xfs_buf.c due to removal of unused
    XBT_FORCE_SLEEP bit

    Linus Torvalds
     
  • * 'for-linus2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (165 commits)
    reiserfs: Properly display mount options in /proc/mounts
    vfs: prevent remount read-only if pending removes
    vfs: count unlinked inodes
    vfs: protect remounting superblock read-only
    vfs: keep list of mounts for each superblock
    vfs: switch ->show_options() to struct dentry *
    vfs: switch ->show_path() to struct dentry *
    vfs: switch ->show_devname() to struct dentry *
    vfs: switch ->show_stats to struct dentry *
    switch security_path_chmod() to struct path *
    vfs: prefer ->dentry->d_sb to ->mnt->mnt_sb
    vfs: trim includes a bit
    switch mnt_namespace ->root to struct mount
    vfs: take /proc/*/mounts and friends to fs/proc_namespace.c
    vfs: opencode mntget() mnt_set_mountpoint()
    vfs: spread struct mount - remaining argument of next_mnt()
    vfs: move fsnotify junk to struct mount
    vfs: move mnt_devname
    vfs: move mnt_list to struct mount
    vfs: switch pnode.h macros to struct mount *
    ...

    Linus Torvalds
     

08 Jan, 2012

1 commit

  • * 'driver-core-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (73 commits)
    arm: fix up some samsung merge sysdev conversion problems
    firmware: Fix an oops on reading fw_priv->fw in sysfs loading file
    Drivers:hv: Fix a bug in vmbus_driver_unregister()
    driver core: remove __must_check from device_create_file
    debugfs: add missing #ifdef HAS_IOMEM
    arm: time.h: remove device.h #include
    driver-core: remove sysdev.h usage.
    clockevents: remove sysdev.h
    arm: convert sysdev_class to a regular subsystem
    arm: leds: convert sysdev_class to a regular subsystem
    kobject: remove kset_find_obj_hinted()
    m86k: gpio - convert sysdev_class to a regular subsystem
    mips: txx9_sram - convert sysdev_class to a regular subsystem
    mips: 7segled - convert sysdev_class to a regular subsystem
    sh: dma - convert sysdev_class to a regular subsystem
    sh: intc - convert sysdev_class to a regular subsystem
    power: suspend - convert sysdev_class to a regular subsystem
    power: qe_ic - convert sysdev_class to a regular subsystem
    power: cmm - convert sysdev_class to a regular subsystem
    s390: time - convert sysdev_class to a regular subsystem
    ...

    Fix up conflicts with 'struct sysdev' removal from various platform
    drivers that got changed:
    - arch/arm/mach-exynos/cpu.c
    - arch/arm/mach-exynos/irq-eint.c
    - arch/arm/mach-s3c64xx/common.c
    - arch/arm/mach-s3c64xx/cpu.c
    - arch/arm/mach-s5p64x0/cpu.c
    - arch/arm/mach-s5pv210/common.c
    - arch/arm/plat-samsung/include/plat/cpu.h
    - arch/powerpc/kernel/sysfs.c
    and fix up cpu_is_hotpluggable() as per Greg in include/linux/cpu.h

    Linus Torvalds
     

07 Jan, 2012

5 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (21 commits)
    m68k/mac: Make CONFIG_HEARTBEAT unavailable on Mac
    m68k/serial: Remove references to obsolete serial config options
    m68k/net: Remove obsolete IRQ_FLG_* users
    m68k: Don't comment out syscalls used by glibc
    m68k/atari: Move declaration of atari_SCC_reset_done to header file
    m68k/serial: Remove references to obsolete CONFIG_SERIAL167
    m68k/hp300: Export hp300_ledstate
    m68k: Initconst section fixes
    m68k/mac: cleanup macro case
    mac_scsi: fix mac_scsi on some powerbooks
    m68k/mac: fix powerbook 150 adb_type
    m68k/mac: fix baboon irq disable and shutdown
    m68k/mac: oss irq fixes
    m68k/mac: fix nubus slot irq disable and shutdown
    m68k/mac: enable via_alt_mapping on performa 580
    m68k/mac: cleanup forward declarations
    m68k/mac: cleanup mac_irq_pending
    m68k/mac: cleanup mac_clear_irq
    m68k/mac: early console
    m68k/mvme16x: Add support for EARLY_PRINTK
    ...

    Fix up trivial conflict in arch/m68k/Kconfig.debug due to new
    EARLY_PRINTK config option addition clashing with movement of the
    BOOTPARAM options.

    Linus Torvalds
     
  • * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu: (56 commits)
    m68k: allow ColdFire 547x and 548x CPUs to be built with MMU enabled
    m68k/Kconfig: Separate classic m68k and coldfire early
    m68k: add ColdFire with MMU enabled support to the m68k mem init code
    m68k: do not use m68k startup or interrupt code for ColdFire CPUs
    m68k: add ColdFire FPU support for the V4e ColdFire CPUs
    m68k: adjustments to stack frame for ColdFire with MMU enabled
    m68k: use non-MMU linker script for ColdFire MMU builds
    m68k: ColdFire with MMU enabled uses same clocking code as non-MMU
    m68k: add code to setup a ColdFire 54xx platform when MMU enabled
    m68k: use non-MMU entry.S code when compiling for ColdFire CPU
    m68k: create ColdFire MMU pgalloc code
    m68k: compile appropriate mm arch files for ColdFire MMU support
    m68k: ColdFire V4e MMU paging init code and miss handler
    m68k: use ColdFire MMU read/write bit flags when ioremapping
    m68k: modify cache push and clear code for ColdFire with MMU enable
    m68k: use tracehook_report_syscall_entry/exit for ColdFire MMU ptrace path
    m68k: ColdFire V4e MMU context support code
    m68k: MMU enabled ColdFire needs 8k ELF alignment
    m68k: set ColdFire MMU page size
    m68k: define PAGE_OFFSET_RAW for ColdFire CPU with MMU enabled
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1958 commits)
    net: pack skb_shared_info more efficiently
    net_sched: red: split red_parms into parms and vars
    net_sched: sfq: extend limits
    cnic: Improve error recovery on bnx2x devices
    cnic: Re-init dev->stats_addr after chip reset
    net_sched: Bug in netem reordering
    bna: fix sparse warnings/errors
    bna: make ethtool_ops and strings const
    xgmac: cleanups
    net: make ethtool_ops const
    vmxnet3" make ethtool ops const
    xen-netback: make ops structs const
    virtio_net: Pass gfp flags when allocating rx buffers.
    ixgbe: FCoE: Add support for ndo_get_fcoe_hbainfo() call
    netdev: FCoE: Add new ndo_get_fcoe_hbainfo() call
    igb: reset PHY after recovering from PHY power down
    igb: add basic runtime PM support
    igb: Add support for byte queue limits.
    e1000: cleanup CE4100 MDIO registers access
    e1000: unmap ce4100_gbe_mdio_base_virt in e1000_remove
    ...

    Linus Torvalds
     
  • * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86, tsc: Skip TSC synchronization checks for tsc=reliable
    clocksource: Convert tcb_clksrc to use clocksource_register_hz/khz
    clocksource: cris: Convert to clocksource_register_khz
    clocksource: xtensa: Convert to clocksource_register_hz/khz
    clocksource: um: Convert to clocksource_register_hz/khz
    clocksource: parisc: Convert to clocksource_register_hz/khz
    clocksource: m86k: Convert to clocksource_register_hz/khz
    time: x86: Replace LATCH with PIT_LATCH in i8253 clocksource driver
    time: x86: Remove CLOCK_TICK_RATE from acpi_pm clocksource driver
    time: x86: Remove CLOCK_TICK_RATE from mach_timer.h
    time: x86: Remove CLOCK_TICK_RATE from tsc code
    time: Fix spelling mistakes in new comments
    time: fix bogus comment in timekeeping_get_ns_raw

    Linus Torvalds
     
  • This resolves the conflict in the arch/arm/mach-s3c64xx/s3c6400.c file,
    and it fixes the build error in the arch/x86/kernel/microcode_core.c
    file, that the merge did not catch.

    The microcode_core.c patch was provided by Stephen Rothwell
    who was invaluable in the merge issues involved
    with the large sysdev removal process in the driver-core tree.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

05 Jan, 2012

1 commit


04 Jan, 2012

2 commits


30 Dec, 2011

27 commits

  • The ColdFire 547x and 548x CPUs have internal MMU hardware. All code
    to support this is now in, so we can build kernels with it enabled.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • While you can build multiplatform kernels for machines with classic
    m68k processors, you cannot mix support for classic m68k and coldfire
    processors. To avoid such hybrid kernels, introduce CONFIG_M68KCLASSIC
    as an antipole for CONFIG_COLDFIRE, and make all specific processor
    support depend on one of them.
    All classic m68k machine support also needs to depend on this.

    The defaults (CONFIG_M68KCLASSIC if MMU, CONFIG_COLDFIRE if !MMU) are
    chosen such to make most of the existing configs build and work.

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Greg Ungerer

    Geert Uytterhoeven
     
  • The ColdFire has similar setup requirements to the SUN3 code, so we
    use that.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • The ColdFire CPUs have their own startup and interrupt code (in the
    platform/coldfire directory), and do not use the general m68k startup and
    interrupt code. In fact the use of the arch/m68k/kernel/head.o is not about
    CONFIG_MMU or not, it is really about the machine type we are compiling for.

    Modify the selection and use of head.o to be based on the machine type.
    Only select the local ints.o and vectors.o code if we are using the classic
    68k CPU types (that use the conventional Morotola MMU or SUN3 MMU).

    Signed-off-by: Greg Ungerer
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • The V4e ColdFire CPU family also has an integrated FPU (as well as the MMU).
    So add code to support this hardware along side the existing m68k FPU code.

    The ColdFire FPU is of course different to all previous 68k FP units. It is
    close in operation to the 68060, but not completely compatible. The biggest
    issue to deal with is that the ColdFire FPU multi-move instructions are
    different. It does not support multi-moving the FP control registers, and
    the multi-move of the FP data registers uses a different instruction
    mnemonic.

    Signed-off-by: Greg Ungerer
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • The exception return stack adjustment required by ColdFire when running
    with the MMU enabled is not completely identical to 680x0 processors.
    Specifically the format type 4 stack frame doesn't need any stack
    adjustment on exception return. And the ColdFire always must return with
    a frame type of 4, not 0.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • Use the non-MMU linker script for ColdFire builds when we are building
    for MMU enabled. The image layout is correct for loading on existing
    ColdFire dev boards. The only addition required to the current non-MMU
    linker script is to add support for the fixup section.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • We want to use the same timer support code for ColdFire CPU's when
    running with MMU enabled or not. So use the same time_no.c code even
    when the MMU is enabled for ColdFire. This also means we do not want
    CONFIG_ARCH_USES_GETTIMEOFFSET set, since that code is only in time_mm.c.

    Signed-off-by: Greg Ungerer
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan
    Acked-by: Geert Uytterhoeven

    Greg Ungerer
     
  • We use the same setup code for ColdFire MMU enabled platforms as
    standard m68k. So add support for it to setup our 54xx ColdFire
    platforms. They do not support the same bootinfo parsing as other
    m68k platforms.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • No matter whether we are configured for non-MMU or MMU enabled if we are
    compiling for ColdFire CPU we always use the entry_no.S code.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • Add code to support the ColdFire V4e MMU pgalloc functions.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • Create a config symbol to enable when using a ColdFire MMU. We then
    use that to only compile the necessary arch mm files.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • The different ColdFire V4e MMU requires its own dedicated paging init
    code, and a TLB miss handler for its software driven TLB.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • The ColdFire MMU has separate read and write bits, unlike the Motorola
    m68k MMU which has a single read-only bit.

    Define a _PAGE_READWRITE value for the Motorola MMU, which is 0, so we
    can unconditionaly include that in the page table entry bits when setting
    up ioremapped pages.

    Signed-off-by: Greg Ungerer
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan
    Acked-by: Geert Uytterhoeven

    Greg Ungerer
     
  • The cache push and clear code only need to flush the branch cache on
    the write-through cache setup of the ColdFire V4e with MMU enabled.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • The existing ColdFire code (which is all non-mmu) for system call entry
    and exit uses the more modern tracehook_report_syscall_entry()/exit()
    into the ptrace code. Now that we are supporting ColdFire with MMU we
    need the same hooks for these.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • Add code to manage the context's of the ColdFire V4e MMU. This code is
    mostly taken from the Freescale 2.6.35 kernel BSP for MMU enabled ColdFire.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • Like the SUN3 hardware MMU the ColdFire MMU uses 8k pages. So we want
    our ELF page size alingment to also be 8k. Modify the ELF alignment
    setting.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • We use the ColdFire V4e MMU page size of 8KiB. Define PAGE_SHIFT
    appropriately.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • The ColdFire CPU configurations need PAGE_OFFSET_RAW set to the base of
    their RAM. It doesn't matter if they are running with the MMU enabled or
    disabled, it is always set to the base of RAM.

    We can keep the choices simple here and key of CONFIG_RAMBASE. If it is
    defined we are on a plaftorm (ColdFire or other non-MMU systems) which
    have a configurable RAM base, just use it.

    Reported-by: Alexander Stein
    Signed-off-by: Greg Ungerer
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan
    Acked-by: Geert Uytterhoeven

    Greg Ungerer
     
  • The ColdFire V4e MMU is unlike any of the other m68k MMU hardware.
    It needs its own TLB flush support code.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • Modify the cache setup for the ColdFire 54xx parts when running with
    the MMU enabled.

    We want to map the peripheral register space (MBAR region) as non
    cacheable. And create an identity mapping for all of RAM for the
    kernel.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • Add code to deal with instruction, data and branch caches of the V4e
    ColdFire cores when they are running with the MMU enabled.

    This code is loosely based on Freescales changes for the caches of the
    V4e ColdFire in the 2.6.25 kernel BSP. That code was originally by
    Kurt Mahan (now ).

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • Add code to traps.c to handle MMU exceptions for the ColdFire.
    Most of this code is from the 2.6.25 kernel BSP code released by
    Freescale.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • Define the page table size and attributes for the ColdFire V4e MMU.
    Also setup the vmalloc and kmap regions we will use.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • The ColdFire V4e MMU is nothing like any of the other m68k MMU's.
    So we need to create a set of definitions and support routines
    for the kernels paging functions.

    This is largely taken from Freescales BSP code for this (though it
    was a 2.6.25 kernel). I have cleaned it up alot from the original.

    Signed-off-by: Greg Ungerer
    Acked-by: Geert Uytterhoeven
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan

    Greg Ungerer
     
  • Virtual memory m68k systems build with register a2 dedicated to being the
    current proc pointer (non-MMU don't do this). Add code to the ColdFire
    interrupt and exception processing to set this on entry, and at context
    switch time. We use the same GET_CURRENT() macro that MMU enabled code
    uses - modifying it so that the assembler is ColdFire clean.

    Signed-off-by: Greg Ungerer
    Acked-by: Matt Waddel
    Acked-by: Kurt Mahan
    Acked-by: Geert Uytterhoeven

    Greg Ungerer