30 Apr, 2013

8 commits

  • The early console implementations are the same all over the place. Move
    the print function to kernel/printk and get rid of the copies.

    [akpm@linux-foundation.org: arch/mips/kernel/early_printk.c needs kernel.h for va_list]
    [paul.gortmaker@windriver.com: sh4: make the bios early console support depend on EARLY_PRINTK]
    Signed-off-by: Thomas Gleixner
    Signed-off-by: Paul Gortmaker
    Cc: Russell King
    Acked-by: Mike Frysinger
    Cc: Michal Simek
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mundt
    Cc: "David S. Miller"
    Cc: Chris Metcalf
    Cc: Richard Weinberger
    Reviewed-by: Ingo Molnar
    Tested-by: Paul Gortmaker
    Cc: Geert Uytterhoeven
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Gleixner
     
  • __remove_pages() is only necessary for CONFIG_MEMORY_HOTREMOVE. PowerPC
    pseries will return -EOPNOTSUPP if unsupported.

    Adding an #ifdef causes several other functions it depends on to also
    become unnecessary, which saves in .text when disabled (it's disabled in
    most defconfigs besides powerpc, including x86). remove_memory_block()
    becomes static since it is not referenced outside of
    drivers/base/memory.c.

    Build tested on x86 and powerpc with CONFIG_MEMORY_HOTREMOVE both enabled
    and disabled.

    Signed-off-by: David Rientjes
    Acked-by: Toshi Kani
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Greg Kroah-Hartman
    Cc: Wen Congyang
    Cc: Tang Chen
    Cc: Yasuaki Ishimatsu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • [sfr@canb.auug.org.au: add missing semicolon]
    Signed-off-by: Cody P Schafer
    Cc: "H. Peter Anvin"
    Cc: Ingo Molnar
    Cc: Benjamin Herrenschmidt
    Cc: Yinghai Lu
    Signed-off-by: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Cody P Schafer
     
  • The sparse code, when asking the architecture to populate the vmemmap,
    specifies the section range as a starting page and a number of pages.

    This is an awkward interface, because none of the arch-specific code
    actually thinks of the range in terms of 'struct page' units and always
    translates it to bytes first.

    In addition, later patches mix huge page and regular page backing for
    the vmemmap. For this, they need to call vmemmap_populate_basepages()
    on sub-section ranges with PAGE_SIZE and PMD_SIZE in mind. But these
    are not necessarily multiples of the 'struct page' size and so this unit
    is too coarse.

    Just translate the section range into bytes once in the generic sparse
    code, then pass byte ranges down the stack.

    Signed-off-by: Johannes Weiner
    Cc: Ben Hutchings
    Cc: Bernhard Schmidt
    Cc: Johannes Weiner
    Cc: Russell King
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Cc: "H. Peter Anvin"
    Cc: Benjamin Herrenschmidt
    Cc: "Luck, Tony"
    Cc: Heiko Carstens
    Acked-by: David S. Miller
    Tested-by: David S. Miller
    Cc: Wu Fengguang
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Johannes Weiner
     
  • Commit abf09bed3cce ("s390/mm: implement software dirty bits")
    introduced another difference in the pte layout vs. the pmd layout on
    s390, thoroughly breaking the s390 support for hugetlbfs. This requires
    replacing some more pte_xxx functions in mm/hugetlbfs.c with a
    huge_pte_xxx version.

    This patch introduces those huge_pte_xxx functions and their generic
    implementation in asm-generic/hugetlb.h, which will now be included on
    all architectures supporting hugetlbfs apart from s390. This change
    will be a no-op for those architectures.

    [akpm@linux-foundation.org: fix warning]
    Signed-off-by: Gerald Schaefer
    Cc: Mel Gorman
    Cc: Hugh Dickins
    Cc: Hillf Danton
    Acked-by: Michal Hocko [for !s390 parts]
    Cc: Tony Luck
    Cc: Fenghua Yu
    Cc: Ralf Baechle
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Paul Mundt
    Cc: "David S. Miller"
    Cc: Chris Metcalf
    Cc: Thomas Gleixner
    Cc: Ingo Molnar
    Cc: "H. Peter Anvin"
    Cc: Martin Schwidefsky
    Cc: Heiko Carstens
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Gerald Schaefer
     
  • Use helper function free_highmem_page() to free highmem pages into
    the buddy system.

    Signed-off-by: Jiang Liu
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Jiang Liu
    Cc: Alexander Graf
    Cc: "Suzuki K. Poulose"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • Use common help functions to free reserved pages.

    Signed-off-by: Jiang Liu
    Cc: Benjamin Herrenschmidt
    Cc: Paul Mackerras
    Cc: Anatolij Gustschin
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jiang Liu
     
  • Pull USB patches from Greg Kroah-Hartman:
    "Here's the big USB pull request for 3.10-rc1.

    Lots of USB patches here, the majority being USB gadget changes and
    USB-serial driver cleanups, the rest being ARM build fixes / cleanups,
    and individual driver updates. We also finally got some chipidea
    fixes, which have been delayed for a number of kernel releases, as the
    maintainer has now reappeared.

    All of these have been in linux-next for a while"

    * tag 'usb-3.10-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (568 commits)
    USB: ehci-msm: USB_MSM_OTG needs USB_PHY
    USB: OHCI: avoid conflicting platform drivers
    USB: OMAP: ISP1301 needs USB_PHY
    USB: lpc32xx: ISP1301 needs USB_PHY
    USB: ftdi_sio: enable two UART ports on ST Microconnect Lite
    usb: phy: tegra: don't call into tegra-ehci directly
    usb: phy: phy core cannot yet be a module
    USB: Fix initconst in ehci driver
    usb-storage: CY7C68300A chips do not support Cypress ATACB
    USB: serial: option: Added support Olivetti Olicard 145
    USB: ftdi_sio: correct ST Micro Connect Lite PIDs
    ARM: mxs_defconfig: add CONFIG_USB_PHY
    ARM: imx_v6_v7_defconfig: add CONFIG_USB_PHY
    usb: phy: remove exported function from __init section
    usb: gadget: zero: put function instances on unbind
    usb: gadget: f_sourcesink.c: correct a copy-paste misnomer
    usb: gadget: cdc2: fix error return code in cdc_do_config()
    usb: gadget: multi: fix error return code in rndis_do_config()
    usb: gadget: f_obex: fix error return code in obex_bind()
    USB: storage: convert to use module_usb_driver()
    ...

    Linus Torvalds
     

17 Apr, 2013

1 commit

  • Pull kvm fixes from Marcelo Tosatti:
    "PPC and ARM KVM fixes"

    * git://git.kernel.org/pub/scm/virt/kvm/kvm:
    ARM: KVM: fix L_PTE_S2_RDWR to actually be Read/Write
    ARM: KVM: fix KVM_CAP_ARM_SET_DEVICE_ADDR reporting
    kvm/ppc/e500: eliminate tlb_refs
    kvm/ppc/e500: g2h_tlb1_map: clear old bit before setting new bit
    kvm/ppc/e500: h2g_tlb1_rmap: esel 0 is valid
    kvm/powerpc/e500mc: fix tlb invalidation on cpu migration

    Linus Torvalds
     

15 Apr, 2013

2 commits

  • A label 0 was missed in the patch a9c4e541 (powerpc/kprobe: Complete
    kprobe and migrate exception frame). This will cause the kernel
    branch to an undetermined address if there really has a conflict when
    updating the thread flags.

    Signed-off-by: Kevin Hao
    Cc: stable@vger.kernel.org
    Acked-By: Tiejun Chen
    Signed-off-by: Stephen Rothwell

    Kevin Hao
     
  • The current mainline crashes when hitting userspace with the following:

    kernel BUG at kernel/auditsc.c:1769!
    cpu 0x1: Vector: 700 (Program Check) at [c000000023883a60]
    pc: c0000000001047a8: .__audit_syscall_entry+0x38/0x130
    lr: c00000000000ed64: .do_syscall_trace_enter+0xc4/0x270
    sp: c000000023883ce0
    msr: 8000000000029032
    current = 0xc000000023800000
    paca = 0xc00000000f080380 softe: 0 irq_happened: 0x01
    pid = 1629, comm = start_udev
    kernel BUG at kernel/auditsc.c:1769!
    enter ? for help
    [c000000023883d80] c00000000000ed64 .do_syscall_trace_enter+0xc4/0x270
    [c000000023883e30] c000000000009b08 syscall_dotrace+0xc/0x38
    --- Exception: c00 (System Call) at 0000008010ec50dc

    Bisecting found the following patch caused it:

    commit 44e9309f1f357794b7ae93d5f3e3e6f11d2b8a7f
    Author: Haren Myneni
    powerpc: Implement PPR save/restore

    It was found this patch corrupted r9 when calling
    SET_DEFAULT_THREAD_PPR()

    Using r10 as a scratch register instead of r9 solved the problem.

    Signed-off-by: Alistair Popple
    Acked-by: Michael Neuling
    Signed-off-by: Stephen Rothwell

    Alistair Popple
     

11 Apr, 2013

4 commits

  • Commit 523f0e5421c12610527c620b983b443f329e3a32 ("KVM: PPC: E500:
    Explicitly mark shadow maps invalid") began using E500_TLB_VALID
    for guest TLB1 entries, and skipping invalidations if it's not set.

    However, when E500_TLB_VALID was set for such entries, it was on a
    fake local ref, and so the invalidations never happen. gtlb_privs
    is documented as being only for guest TLB0, though we already violate
    that with E500_TLB_BITMAP.

    Now that we have MMU notifiers, and thus don't need to actually
    retain a reference to the mapped pages, get rid of tlb_refs, and
    use gtlb_privs for E500_TLB_VALID in TLB1.

    Since we can have more than one host TLB entry for a given tlbe_ref,
    be careful not to clear existing flags that are relevant to other
    host TLB entries when preparing a new host TLB entry.

    Signed-off-by: Scott Wood
    Signed-off-by: Alexander Graf

    Scott Wood
     
  • It's possible that we're using the same host TLB1 slot to map (a
    presumably different portion of) the same guest TLB1 entry. Clear
    the bit in the map before setting it, so that if the esels are the same
    the bit will remain set.

    Signed-off-by: Scott Wood
    Signed-off-by: Alexander Graf

    Scott Wood
     
  • Add one to esel values in h2g_tlb1_rmap, so that "no mapping" can be
    distinguished from "esel 0". Note that we're not saved by the fact
    that host esel 0 is reserved for non-KVM use, because KVM host esel
    numbering is not the raw host numbering (see to_htlb1_esel).

    Signed-off-by: Scott Wood
    Signed-off-by: Alexander Graf

    Scott Wood
     
  • The existing check handles the case where we've migrated to a different
    core than we last ran on, but it doesn't handle the case where we're
    still on the same cpu we last ran on, but some other vcpu has run on
    this cpu in the meantime.

    Without this, guest segfaults (and other misbehavior) have been seen in
    smp guests.

    Cc: stable@vger.kernel.org # 3.8.x
    Signed-off-by: Scott Wood
    Signed-off-by: Alexander Graf

    Scott Wood
     

10 Apr, 2013

2 commits

  • Just like the OHCI counter part we just can remove the architecture
    specific symbols which prevent these configuration symbols from being
    selected by platforms/architectures requiring it. The original
    implementation did not scale at all since it required each and every
    single architecture to be added for these configuration symbols to be
    selected. Now it is up to the EHCI driver and/or platform to select
    these configuration symbols accordingly.

    Acked-by: Alan Stern
    Signed-off-by: Florian Fainelli
    Signed-off-by: Greg Kroah-Hartman

    Florian Fainelli
     
  • We can't compile a kernel with CONFIG_ALTIVEC=n when
    CONFIG_PPC_TRANSACTIONAL_MEM=y. We currently get:

    arch/powerpc/kernel/tm.S:320: Error: unsupported relocation against THREAD_VSCR
    arch/powerpc/kernel/tm.S:323: Error: unsupported relocation against THREAD_VR0
    arch/powerpc/kernel/tm.S:323: Error: unsupported relocation against THREAD_VR0
    etc.

    The below fixes this with a sprinkling of #ifdefs.

    This was found by mpe with kisskb:
    http://kisskb.ellerman.id.au/kisskb/buildresult/8539442/

    Signed-off-by: Michael Neuling
    Signed-off-by: Stephen Rothwell

    Michael Neuling
     

08 Apr, 2013

1 commit

  • …efore the ANDCOND test

    Some versions of pHyp will perform the adjunct partition test before the
    ANDCOND test. The result of this is that H_RESOURCE can be returned and
    cause the BUG_ON condition to occur. The HPTE is not removed. So add a
    check for H_RESOURCE, it is ok if this HPTE is not removed as
    pSeries_lpar_hpte_remove is looking for an HPTE to remove and not a
    specific HPTE to remove. So it is ok to just move on to the next slot
    and try again.

    Cc: stable@vger.kernel.org
    Signed-off-by: Michael Wolf <mjw@linux.vnet.ibm.com>
    Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>

    Michael Wolf
     

26 Mar, 2013

1 commit

  • For 32-bit, CONFIG_EPAPR_PARAVIRT pulls in both epapr_paravirt.c
    and epapr_hcalls.c which contains the 32-bit paravirt idle loop.

    For 64-bit, the paravirt idle loop is in idle_book3e.S and that
    source file is included only if CONFIG_PPC_BOOK3E_64 defined.

    This patch makes that dependency for 64-bit explicit.

    Fixes these build errors:

    arch/powerpc/kernel/built-in.o: In function `restore_pblist_ptr':
    ftrace.c:(.toc+0xdc0): undefined reference to `epapr_ev_idle_start'
    ftrace.c:(.toc+0xdd0): undefined reference to `epapr_ev_idle'

    Signed-off-by: Stuart Yoder
    Signed-off-by: Stephen Rothwell

    Stuart Yoder
     

25 Mar, 2013

1 commit

  • The FWNMI region is fixed at 0x7000 and the vector are now overflowing
    that with allmodconfig. Fix that by moving slb_miss_realmode code out
    of that region as it doesn't need to be that close to the call sites
    (it is a _GLOBAL function)

    Fixes this build error:

    arch/powerpc/kernel/exceptions-64s.S: Assembler messages:
    arch/powerpc/kernel/exceptions-64s.S:1304: Error: attempt to move .org backwards

    Signed-off-by: Chen Gang
    Signed-off-by: Stephen Rothwell

    Chen Gang
     

21 Mar, 2013

1 commit

  • Pull perf fixes from Ingo Molnar:
    "A fair chunk of the linecount comes from a fix for a tracing bug that
    corrupts latency tracing buffers when the overwrite mode is changed on
    the fly - the rest is mostly assorted fewliner fixlets."

    * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    perf/x86: Add SNB/SNB-EP scheduling constraints for cycle_activity event
    kprobes/x86: Check Interrupt Flag modifier when registering probe
    kprobes: Make hash_64() as always inlined
    perf: Generate EXIT event only once per task context
    perf: Reset hwc->last_period on sw clock events
    tracing: Prevent buffer overwrite disabled for latency tracers
    tracing: Keep overwrite in sync between regular and snapshot buffers
    tracing: Protect tracer flags with trace_types_lock
    perf tools: Fix LIBNUMA build with glibc 2.12 and older.
    tracing: Fix free of probe entry by calling call_rcu_sched()
    perf/POWER7: Create a sysfs format entry for Power7 events
    perf probe: Fix segfault
    libtraceevent: Remove hard coded include to /usr/local/include in Makefile
    perf record: Fix -C option
    perf tools: check if -DFORTIFY_SOURCE=2 is allowed
    perf report: Fix build with NO_NEWT=1
    perf annotate: Fix build with NO_NEWT=1
    tracing: Fix race in snapshot swapping

    Linus Torvalds
     

19 Mar, 2013

1 commit


18 Mar, 2013

2 commits

  • Pull powerpc fixes from Ben Herrenschmidt:
    "Here's a few powerpc fixes for 3.9, mostly regressions (though not all
    from 3.9 merge window) that we've been hammering into shape over the
    last couple of weeks. They fix booting on Cell and G5 among other
    things (yes, we've been a bit sloppy with older machines this time
    around)."

    * 'merge' of git://git.kernel.org/pub/scm/linux/kernel/git/benh/powerpc:
    powerpc: Rename USER_ESID_BITS* to ESID_BITS*
    powerpc: Update kernel VSID range
    powerpc: Make VSID_BITS* dependency explicit
    powerpc: Make sure that we alays include CONFIG_BINFMT_ELF
    powerpc/ptrace: Fix brk.len used uninitialised
    powerpc: Fix -mcmodel=medium breakage in prom_init.c
    powerpc: Remove last traces of POWER4_ONLY
    powerpc: Fix cputable entry for 970MP rev 1.0
    powerpc: Fix STAB initialization

    Linus Torvalds
     
  • …it/acme/linux into perf/urgent

    Pull perf/urgent fixes from Arnaldo Carvalho de Melo:

    . perf probe: Fix segfault due to testing the wrong pointer for NULL,
    from Ananth N Mavinakayanahalli.

    . libtraceevent: Remove hard coded include to /usr/local/include in
    Makefile, which causes cross builds to include host header files,
    fix from Jack Mitchell.

    . perf record: Use the right target interface for synthesizing
    threads when --cpu/-C option is used, fix from Jiri Olsa.

    . Check if -DFORTIFY_SOURCE=2 is allowed, as gcc 4.7.2 defines
    it and then the build is broken when it is redefined in perf,
    fix from Marcin Slusarz.

    . Fix build with NO_NEWT=1, that can happen explicitely or when
    the newt-devel package is not installed, from Michael Ellerman.

    . perf/POWER7: Create a sysfs format entry for Power7 events, missing
    patch from a patchseries already merged, from Sukadev Bhattiprolu.

    . Fix LIBNUMA build with glibc 2.12 and older, from Vinson Lee.

    Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
    Signed-off-by: Ingo Molnar <mingo@kernel.org>

    Ingo Molnar
     

17 Mar, 2013

5 commits

  • Now we use ESID_BITS of kernel address to build proto vsid. So rename
    USER_ESIT_BITS to ESID_BITS

    Acked-by: Paul Mackerras
    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Benjamin Herrenschmidt
    CC: [v3.8]

    Aneesh Kumar K.V
     
  • This patch change the kernel VSID range so that we limit VSID_BITS to 37.
    This enables us to support 64TB with 65 bit VA (37+28). Without this patch
    we have boot hangs on platforms that only support 65 bit VA.

    With this patch we now have proto vsid generated as below:

    We first generate a 37-bit "proto-VSID". Proto-VSIDs are generated
    from mmu context id and effective segment id of the address.

    For user processes max context id is limited to ((1ul << 19) - 5)
    for kernel space, we use the top 4 context ids to map address as below
    0x7fffc - [ 0xc000000000000000 - 0xc0003fffffffffff ]
    0x7fffd - [ 0xd000000000000000 - 0xd0003fffffffffff ]
    0x7fffe - [ 0xe000000000000000 - 0xe0003fffffffffff ]
    0x7ffff - [ 0xf000000000000000 - 0xf0003fffffffffff ]

    Acked-by: Paul Mackerras
    Signed-off-by: Aneesh Kumar K.V
    Tested-by: Geoff Levand
    Signed-off-by: Benjamin Herrenschmidt
    CC: [v3.8]

    Aneesh Kumar K.V
     
  • VSID_BITS and VSID_BITS_1T depends on the context bits and user esid
    bits. Make the dependency explicit

    Acked-by: Paul Mackerras
    Signed-off-by: Aneesh Kumar K.V
    Signed-off-by: Benjamin Herrenschmidt
    CC: [v3.8]

    Aneesh Kumar K.V
     
  • Our kernel is not much good without BINFMT_ELF and this fixes a build
    warning on 64 bit allnoconfig builds:

    warning: (COMPAT) selects COMPAT_BINFMT_ELF which has unmet direct dependencies (COMPAT && BINFMT_ELF)

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Benjamin Herrenschmidt

    Stephen Rothwell
     
  • With some CONFIGS it's possible that in ppc_set_hwdebug, brk.len is
    uninitialised before being used. It has been reported that GCC 4.2 will
    produce the following error in this case:

    arch/powerpc/kernel/ptrace.c:1479: warning: 'brk.len' is used uninitialized in this function
    arch/powerpc/kernel/ptrace.c:1381: note: 'brk.len' was declared here

    This patch corrects this.

    Signed-off-by: Michael Neuling
    Reported-by: Philippe De Muyter
    Signed-off-by: Benjamin Herrenschmidt

    Michael Neuling
     

14 Mar, 2013

1 commit

  • Create a sysfs entry, '/sys/bus/event_source/devices/cpu/format/event'
    which describes the format of the POWER7 PMU events.

    This code is based on corresponding code in x86.

    Changelog[v4]: [Michael Ellerman, Paul Mckerras] The event format is different
    for other POWER cpus. So move the code to POWER7-specific,
    power7-pmu.c Also, the POWER7 format uses bits 0-19 not 0-20.

    Changelog[v2]: [Jiri Osla] Use PMU_FORMAT_ATTR rather than duplicating code.

    Signed-off-by: Sukadev Bhattiprolu
    Acked-by: Paul Mackerras
    Tested-by: Michael Ellerman
    Cc: Andi Kleen
    Cc: Anton Blanchard
    Cc: Ingo Molnar
    Cc: Jiri Olsa
    Cc: Michael Ellerman
    Cc: Paul Mackerras
    Cc: Peter Zijlstra
    Cc: Robert Richter
    Cc: Stephane Eranian
    Cc: benh@kernel.crashing.org
    Cc: linuxppc-dev@ozlabs.org
    Link: http://lkml.kernel.org/r/20130306054826.GA14627@us.ibm.com
    Signed-off-by: Arnaldo Carvalho de Melo

    Sukadev Bhattiprolu
     

13 Mar, 2013

5 commits

  • Commit 5ac47f7a6efb (powerpc: Relocate prom_init.c on 64bit) made
    prom_init.c position independent by manually relocating its entries
    in the TOC.

    We get the address of the TOC entries with the __prom_init_toc_start
    linker symbol. If __prom_init_toc_start ends up as an entry in the
    TOC then we need to add an offset to get the current address. This is
    the case for older toolchains.

    On the other hand, if we have a newer toolchain that supports
    -mcmodel=medium then __prom_init_toc_start will be created by a
    relative offset from r2 (the TOC pointer). Since r2 has already been
    relocated, nothing more needs to be done. Adding an offset in this
    case is wrong and Aaro Koskinen and Alexander Graf have noticed noticed
    G5 and OpenBIOS breakage.

    Alan Modra suggested we just use r2 to get at the TOC which is simpler
    and works with both old and new toolchains.

    Reported-by: Alexander Graf
    Signed-off-by: Anton Blanchard
    Tested-by: Aaro Koskinen
    Signed-off-by: Benjamin Herrenschmidt

    Anton Blanchard
     
  • The Kconfig symbol POWER4_ONLY got removed in commit
    694caf0255dcab506d1e174c96a65ab65d96e108 ("powerpc: Remove
    CONFIG_POWER4_ONLY"). Remove its last traces.

    Signed-off-by: Paul Bolle
    Signed-off-by: Benjamin Herrenschmidt

    Paul Bolle
     
  • Commit 44ae3ab3358e962039c36ad4ae461ae9fb29596c forgot to update
    the entry for the 970MP rev 1.0 processor when moving some CPU
    features bits to the MMU feature bit mask. This breaks booting
    on some rare G5 models using that chip revision.

    Reported-by: Phileas Fogg
    Signed-off-by: Benjamin Herrenschmidt
    CC: [v3.0+]

    Benjamin Herrenschmidt
     
  • Commit f5339277eb8d3aed37f12a27988366f68ab68930 accidentally removed
    more than just iSeries bits and took out the call to stab_initialize()
    thus breaking support for POWER3 processors.

    Put it back. (Yes, nobody noticed until now ...)

    Signed-off-by: Benjamin Herrenschmidt
    CC: [v3.4+]

    Benjamin Herrenschmidt
     
  • In commit 887cbce0adea ("arch Kconfig: centralise ARCH_NO_VIRT_TO_BUS")
    I introduced the config sybmol HAVE_VIRT_TO_BUS and selected that where
    needed. I am not sure what I was thinking. Instead, just directly
    select VIRT_TO_BUS where it is needed.

    Signed-off-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Stephen Rothwell
     

10 Mar, 2013

1 commit

  • Pull namespace bugfixes from Eric Biederman:
    "This is three simple fixes against 3.9-rc1. I have tested each of
    these fixes and verified they work correctly.

    The userns oops in key_change_session_keyring and the BUG_ON triggered
    by proc_ns_follow_link were found by Dave Jones.

    I am including the enhancement for mount to only trigger requests of
    filesystem modules here instead of delaying this for the 3.10 merge
    window because it is both trivial and the kind of change that tends to
    bit-rot if left untouched for two months."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/user-namespace:
    proc: Use nd_jump_link in proc_ns_follow_link
    fs: Limit sys_mount to only request filesystem modules (Part 2).
    fs: Limit sys_mount to only request filesystem modules.
    userns: Stop oopsing in key_change_session_keyring

    Linus Torvalds
     

05 Mar, 2013

4 commits

  • We support DSCR (Data Stream Control Register) so we should make sure we set it
    in the FSCR (Facility Status & Control Register) incase some firmwares don't
    set it. If we don't set this, we'll take a facility unavailable exception when
    using the DSCR.

    Signed-off-by: Michael Neuling
    Signed-off-by: Benjamin Herrenschmidt

    Michael Neuling
     
  • This sets the DSCR (Data Stream Control Register) in the FSCR (Facility Status
    & Control Register).

    Also harmonise TAR (Target Address Register) FSCR bit definition too.

    Signed-off-by: Michael Neuling
    Signed-off-by: Benjamin Herrenschmidt

    Michael Neuling
     
  • Currently we only set the FSCR (Facility Status and Control Register) when HV=1
    but this feature is available when HV=0 also. This patch sets FSCR when HV=0.

    Also, we currently only set the FSCR on the master CPU. This patch also sets
    the FSCR on secondary CPUs.

    Signed-off-by: Michael Neuling
    cc: Ian Munsie
    Signed-off-by: Benjamin Herrenschmidt

    Michael Neuling
     
  • Since kmp takes 2 unsigned long args there should be a compat wrapper.
    Since one isn't provided I think it's safer just to hook this up to not
    implemented. If we need it later we can do it properly then.

    Signed-off-by: Tony Breeds
    Signed-off-by: Benjamin Herrenschmidt

    Tony Breeds