backport request: include support for OpenPower hardware

Bug #1439562 reported by Jeremy Kerr on 2015-04-02
12
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Tim Gardner
Utopic
Medium
Chris J Arges
Vivid
Medium
Tim Gardner

Bug Description

[Impact]
This is a HWE SRU for OpenPower support in 3.16.

[Fix]
upstream commits:
backported from commit 6a11e5c67a397e9a64cfde6961c83a7a64d7980c)
backported from commit 608b286d1ddf38a7ceb624d2b689af095816d91c)
cherry picked from commit 3bf57561d4dbd36ba45ce05656b0469bfdcc7ef2)
cherry picked from commit 4c3b21686111e0ac6018469dacbc5549f9915cf8)
cherry picked from commit a4bcbe6a41adcaa5e7f1830a7c1da8691d9d2b1d)
backported from commit 08135139430fabdeaa990da8a9e0d436aad0672b)
cherry picked from commit c1c3a526bb4ddbec7639a9fb3b84fede25b201d9)
cherry picked from commit b921e90260cec1e04988bb3763491de885b67b51)
backported from commit e8a51e1b51ee5730ad3913f3962e3099a5e19359)
cherry picked from commit 5590f3196b293574a12be58d06d5e1120d8856ec)
backported from commit 529d235a0e190ded1d21ccc80a73e625ebcad09b)

[Test Case]
Ensure kernel boots on specific OpenPower hardware.

--

We've prepared a series of patches (ported to Ubuntu-3.19.0-11.11), which add OpenPower support to the Ubuntu kernel.

The changes are available in the ubuntu/vivid branch of:

 https://github.com/open-power/linux.git

(or I can attach them separately).

Changelogs are as follows:

commit 2f0190bd43764559b250a5bd11aca050f909aa21
Author: Benjamin Herrenschmidt <email address hidden>
Date: Fri Nov 14 16:13:50 2014 +1100

    powerpc/powernv: Support OPAL requested heartbeat

    If OPAL requests it, call it back via opal_poll_events() at a
    regular interval. Some versions of OPAL on some machines require
    this to operate some internal timeouts properly.

    Signed-off-by: Benjamin Herrenschmidt <email address hidden>

    Backport notes:
     cherry-picked from mpe-next, 3bf57561d4dbd36ba45ce05656b0469bfdcc7ef2
     minor conflicts resolved
    Signed-off-by: Jeremy Kerr <email address hidden>

commit e1c89541e7163494ad091f3c2622649d91ac7597
Author: Benjamin Herrenschmidt <email address hidden>
Date: Mon Feb 16 14:59:08 2015 +1100

    device: Add dev_of_node() accessor

    Suggested by Arnd Bergmann, this gives a practical accessor for
    the of_node field of struct device while instructing the compiler
    that it will be NULL if CONFIG_OF is not set.

    Signed-off-by: Benjamin Herrenschmidt <email address hidden>
    Acked-by: Rob Herring <email address hidden>

    Backport notes:
     Submission to LKML at: https://patchwork.kernel.org/patch/5831161/
    Signed-off-by: Jeremy Kerr <email address hidden>

commit 2c242b30756f77528516a4e9e986818ac4e90490
Author: Benjamin Herrenschmidt <email address hidden>
Date: Wed Feb 18 11:25:18 2015 +1100

    drivers/core/of: Add symlink to device-tree from devices with an OF node

    So I've been annoyed lately with having a bunch of devices such as i2c
    eeproms (for use by VPDs, server world !) and other bits and pieces that
    I want to be able to identify from userspace, and possibly provide
    additional data about from FW.

    Basically, it boils down to correlating the sysfs device with the OF
    tree device node, so that user space can use device-tree info such as
    additional "location" or "label" (or whatever else we can come up with)
    propreties to identify a given device, or get some attributes of use
    about it, etc...

    Now, so far, we've done that in some subsystem in a fairly ad-hoc basis
    using "devspec" properties. For example, PCI creates them if it can
    correlate the probed device with a DT node. Some powerpc specific busses
    do that too.

    However, i2c doesn't and it would be nice to have something more generic
    since technically any device can have a corresponding device tree node.

    This patch adds an "of_node" symlink to devices that have a non-NULL
    dev->of_node pointer, the patch is pretty trivial and seems to work just
    fine for me.

    Signed-off-by: Benjamin Herrenschmidt <email address hidden>
    Acked-by: Rob Herring <email address hidden>

    Backport notes:
     Submission to LKML at: https://patchwork.kernel.org/patch/5842241/
    Signed-off-by: Jeremy Kerr <email address hidden>

commit 1d9d9bdad2553f39de92eba40f8663eb45819e8c
Author: Michael Ellerman <email address hidden>
Date: Sat Mar 28 21:35:16 2015 +1100

    powerpc: Add a proper syscall for switching endianness

    We currently have a "special" syscall for switching endianness. This is
    syscall number 0x1ebe, which is handled explicitly in the 64-bit syscall
    exception entry.

    That has a few problems, firstly the syscall number is outside of the
    usual range, which confuses various tools. For example strace doesn't
    recognise the syscall at all.

    Secondly it's handled explicitly as a special case in the syscall
    exception entry, which is complicated enough without it.

    As a first step toward removing the special syscall, we need to add a
    regular syscall that implements the same functionality.

    The logic is simple, it simply toggles the MSR_LE bit in the userspace
    MSR. This is the same as the special syscall, with the caveat that the
    special syscall clobbers fewer registers.

    This version clobbers r9-r12, XER, CTR, and CR0-1,5-7.

    Signed-off-by: Michael Ellerman <email address hidden>

    Backport notes:
     Cherry-picked (with conflicts resolved) from mpe-next,
     commit 529d235a0e190ded1d21ccc80a73e625ebcad09b
    Signed-off-by: Jeremy Kerr <email address hidden>

commit 352598493e72d80fcf136b5c30add7f9dd32b30a
Author: Cyril Bur <email address hidden>
Date: Tue Feb 17 18:27:34 2015 +1100

    powerpc/powernv: Add interfaces for flash device access

    This change adds the OPAL interface definitions to allow Linux to read,
    write and erase from system flash devices. We register platform devices
    for the flash devices exported by firmware.

    We clash with the existing opal_flash_init function, which is really for
    the FSP flash update functionality, so we rename that initcall to
    opal_flash_update_init().

    A future change will add an mtd driver that uses this interface.

    Changes from Joel Stanley and Jeremy Kerr.

    Signed-off-by: Cyril Bur <email address hidden>
    Signed-off-by: Jeremy Kerr <email address hidden>
    Signed-off-by: Joel Stanley <email address hidden>

    Backport notes:
     Submission to linuxppc-dev: http://patchwork.ozlabs.org/patch/457095/

commit 1acd5ddde4a50eced6d39381f18126ac94b1ffb7
Author: Cyril Bur <email address hidden>
Date: Tue Feb 17 18:27:35 2015 +1100

    drivers/mtd: add powernv flash MTD abstraction driver

    Powerpc powernv platforms allow access to certain system flash devices
    through a firmwarwe interface. This change adds an mtd driver for these
    flash devices.

    Minor updates from Jeremy Kerr and Joel Stanley.

    Signed-off-by: Cyril Bur <email address hidden>
    Signed-off-by: Joel Stanley <email address hidden>
    Signed-off-by: Jeremy Kerr <email address hidden>

    Backport notes:
     Upstream submission at: http://patchwork.ozlabs.org/patch/457096/

commit 37889e2e1b7fd7576a83cdddca60d2ff81020d24
Author: Neelesh Gupta <email address hidden>
Date: Wed Feb 11 11:57:23 2015 +0530

    powerpc/powernv: Add OPAL message notifier unregister function

    Provide an unregister interface for the opal message notifiers
    to be called when not needed like during driver unload/remove.

    Signed-off-by: Neelesh Gupta <email address hidden>
    Reviewed-by: Vasant Hegde <email address hidden>
    Signed-off-by: Benjamin Herrenschmidt <email address hidden>

    Backport notes:
     Cherry-picked from mpe-next: b921e90260cec1e04988bb3763491de885b67b51
    Signed-off-by: Jeremy Kerr <email address hidden>

commit 744b9761d910fa26f76b99b21d4a86110bac2db2
Author: Joel Stanley <email address hidden>
Date: Fri Jan 30 17:13:08 2015 +1030

    powerpc/powernv: Add OPAL soft-poweroff routine

    Register a notifier for a OPAL message indicating that the machine
    should prepare itself for a graceful power off.

    OPAL will tell us if the power off is a reboot or shutdown, but for now
    we perform the same orderly_poweroff action.

    Signed-off-by: Joel Stanley <email address hidden>
    Signed-off-by: Michael Ellerman <email address hidden>

    Backport notes:
     Cherry-picked from upstream commit d3f180ea1a44aecba1b0dab2a253428e77f906bf
    Signed-off-by: Jeremy Kerr <email address hidden>

commit 6f4b0f59a9a359bfa859bbb69aed6e50e891f613
Author: Joel Stanley <email address hidden>
Date: Thu Apr 2 11:18:28 2015 +0800

    drivers/sbus/char/envctrl.c: ignore orderly_poweroff return value

    orderly_poweroff() unconditionally returns 0, so remove the dead code that
    checks the return value.

    A future patch will change the return type to void.

    Signed-off-by: Joel Stanley <email address hidden>
    Acked-by: David S. Miller <email address hidden>
    Cc: Fabian Frederick <email address hidden>
    Cc: Benjamin Herrenschmidt <email address hidden>
    Cc: Michael Ellerman <email address hidden>
    Cc: Rusty Russell <email address hidden>
    Cc: Jeremy Kerr <email address hidden>
    Signed-off-by: Andrew Morton <email address hidden>

    Backport notes:
     Queued in -mm tree:
       http://ozlabs.org/~akpm/mmotm/broken-out/envctrl-ignore-orderly_poweroff-return-value.patch

    Signed-off-by: Jeremy Kerr <email address hidden>

commit 53cffb522127c3cae82bce12a2434f8ef6f4b1e3
Author: Joel Stanley <email address hidden>
Date: Thu Apr 2 11:19:22 2015 +0800

    kernel/reboot.c: add orderly_reboot for graceful reboot

    The kernel has orderly_poweroff which allows the kernel to initiate a
    graceful shutdown of userspace, by running /sbin/poweroff. This adds
    orderly_reboot that will cause userspace to shut itself down by calling
    /sbin/reboot.

    This will be used for shutdown initiated by a system controller on
    platforms that do not use ACPI.

    orderly_reboot() should be used when the system wants to allow userspace
    to gracefully shut itself down. For cases where the system may imminently
    catch on fire, the existing emergency_restart() provides an immediate
    reboot without involving userspace.

    Signed-off-by: Joel Stanley <email address hidden>
    Cc: Fabian Frederick <email address hidden>
    Cc: Benjamin Herrenschmidt <email address hidden>
    Cc: Michael Ellerman <email address hidden>
    Cc: Rusty Russell <email address hidden>
    Cc: Jeremy Kerr <email address hidden>
    Cc: David S. Miller <email address hidden>
    Signed-off-by: Andrew Morton <email address hidden>

    Backported notes:
     Taken from -mm tree: http://ozlabs.org/~akpm/mmotm/broken-out/kernel-rebootc-add-orderly_reboot-for-graceful-reboot.patch

commit 63df16447d186fcfa83adecdbd7181551070ffa6
Author: Joel Stanley <email address hidden>
Date: Thu Apr 2 11:20:19 2015 +0800

    powerpc/powernv: reboot when requested by firmware

    Use orderly_reboot so userspace will to shut itself down via the reboot
    path. This is required for graceful reboot initiated by the BMC, such as
    when a user uses ipmitool to issue a 'chassis power cycle' command.

    Signed-off-by: Joel Stanley <email address hidden>
    Acked-by: Michael Ellerman <email address hidden>
    Cc: Fabian Frederick <email address hidden>
    Cc: Benjamin Herrenschmidt <email address hidden>
    Cc: Rusty Russell <email address hidden>
    Cc: Jeremy Kerr <email address hidden>
    Cc: David S. Miller <email address hidden>
    Signed-off-by: Andrew Morton <email address hidden>

    Backport notes:
     Taken from -mm tree: http://ozlabs.org/~akpm/mmotm/broken-out/powerpc-powernv-reboot-when-requested-by-firmware.patch
    Signed-off-by: Jeremy Kerr <email address hidden>

commit 8589e12d09d03b03167ce9cb9bc6c7070f3ccd7e
Author: Jeremy Kerr <email address hidden>
Date: Sat Feb 7 10:02:21 2015 +0800

    powerpc/powernv: Add opal-prd channel

    This change adds a char device to access the "PRD" (processor runtime
    diagnostics) channel to OPAL firmware.

    Includes contributions from Vaidyanathan Srinivasan, Neelesh Gupta &
    Vishal Kulkarni.

    Signed-off-by: Neelesh Gupta <email address hidden>
    Signed-off-by: Jeremy Kerr <email address hidden>

    Backport notes:
      Submitted upstream: http://patchwork.ozlabs.org/patch/457097/
      Backport requires the OPAL_MSG_DPO definition

    Signed-off-by: Jeremy Kerr <email address hidden>

Andy Whitcroft (apw) on 2015-04-02
Changed in linux (Ubuntu):
status: New → Confirmed
importance: Undecided → Medium
Jeremy Kerr (jk-ozlabs) wrote :

Also: these changes add a config var: CONFIG_MTD_POWERNV_FLASH, for the presence of the powernv mtd driver.

Will the new "ipmi_powernv" and "powernv_flash" modules appear in the linux-image package (rather than linux-image extras)?

Tim Gardner (timg-tpi) wrote :

Jeremy - by default those new modules will be packaged in -extras. Since they appear to be HW related that ought to be OK since it is rare that -extras is not installed on bare metal.

tags: added: kernel-da-key
tags: added: cherry-pick
Changed in linux (Ubuntu):
status: Confirmed → Triaged
Jeremy Kerr (jk-ozlabs) wrote :

Tim - yes, they're both related to OpenPower hardware, and aren't required for guest VMs. Sounds fine then.

Tim Gardner (timg-tpi) wrote :

Jeremy - I've just had a look at the patches you are proposing. Even though this set only affects powernv, I would really prefer to cherry-pick them from Linus' repo, or at least linux-next. Getting them after they have gone through a thorough review cycle helps prevent conflict carnage in this and later kernels. I'd be willing to add these as an SRU after they have been merged upstream.

Changed in linux (Ubuntu Vivid):
assignee: nobody → Tim Gardner (timg-tpi)
status: Triaged → In Progress
Jeremy Kerr (jk-ozlabs) wrote :

OK, I'll keep this bug updated as the patches are merged.

Jeremy Kerr (jk-ozlabs) wrote :

We've had a few patches merged to linux-next:

6f4b0f5 drivers/sbus/char/envctrl.c: ignore orderly_poweroff return value
 -> merged to linux-next/master: dc4f016cb8b67128c42f165802794f0b6d70405c

53cffb5 kernel/reboot.c: add orderly_reboot for graceful reboot
 -> merged to linux-next/master: c162cd23253587741207fcb08c20c56922dd5fdb

63df164 powerpc/powernv: reboot when requested by firmware
 -> merged to linux-next/master: 62a68d4f51accd3ffa3f38d4a85f41b031ff13b7

Leaving the following pending patches:

2f0190b powerpc/powernv: Support OPAL requested heartbeat
e1c8954 device: Add dev_of_node() accessor
2c242b3 drivers/core/of: Add symlink to device-tree from devices with an OF node
1d9d9bd powerpc: Add a proper syscall for switching endianness
3525984 powerpc/powernv: Add interfaces for flash device access
1acd5dd drivers/mtd: add powernv flash MTD abstraction driver
37889e2 powerpc/powernv: Add OPAL message notifier unregister function
744b976 powerpc/powernv: Add OPAL soft-poweroff routine
8589e12 powerpc/powernv: Add opal-prd channel

Jeremy Kerr (jk-ozlabs) wrote :

Also:

744b976 powerpc/powernv: Add OPAL soft-poweroff routine
 -> in linus/master: 7f43e71e8c538356efd5b33a183e6d9ace4739a5

- this is a prerequisite for:

63df164 powerpc/powernv: reboot when requested by firmware

Tim Gardner (timg-tpi) wrote :

I applied these 4 patches. The rest will likely have to go through the SRU process since kernel freeze is April 9.

Applying: powerpc/powernv: Add OPAL soft-poweroff routine
Applying: drivers/sbus/char/envctrl.c: ignore orderly_poweroff return value
Applying: kernel/reboot.c: add orderly_reboot for graceful reboot
Applying: powerpc/powernv: reboot when requested by firmware

Changed in linux (Ubuntu Vivid):
status: In Progress → Fix Committed
Jeremy Kerr (jk-ozlabs) wrote :

OK, we have a new set of patches merged. Would you like these in a separate bug?

[the first does change a powerpc-specific syscall number, if that affects your preference of SRU vs. freeze]

The following patches have been merged to linux-next:

1d9d9bd powerpc: Add a proper syscall for switching endianness
 -> merged to linux-next/master: 529d235a0e190ded1d21ccc80a73e625ebcad09b

37889e2 powerpc/powernv: Add OPAL message notifier unregister function
 -> merged to linux-next/master: b921e90260cec1e04988bb3763491de885b67b51

2f0190b powerpc/powernv: Support OPAL requested heartbeat
 -> merged to linux-next/master: 3bf57561d4dbd36ba45ce05656b0469bfdcc7ef2

e1c8954 device: Add dev_of_node() accessor
 -> merged to linux-next/master: e8a51e1b51ee5730ad3913f3962e3099a5e19359

2c242b3 drivers/core/of: Add symlink to device-tree from devices with an OF node
 -> merged to linux-next/master: 5590f3196b293574a12be58d06d5e1120d8856ec

Leaving the following patches pending:

3525984 powerpc/powernv: Add interfaces for flash device access
1acd5dd drivers/mtd: add powernv flash MTD abstraction driver
 -> pending mtd review

8589e12 powerpc/powernv: Add opal-prd channel
 -> pending powerpc review.
 -> Ensure we have the DPO member of enum opal_msg_type present

Tim Gardner (timg-tpi) wrote :

Jeremy - it looks like there is at least one missing prerequisite for 'powerpc: Add a proper syscall for switching endianness'. Can you prepare a list of commits that apply to ubuntu-vivid ?

Jeremy Kerr (jk-ozlabs) wrote :

Sure thing. The patch in my ubuntu-vivid git tree is slightly modified from the upstream commit - just so we don't need to include those prerequisites.

However, if you're after pristine upstream commits, the following will work on top of the vivid tree (as at 83f803a6):

commit 4c3b21686111e0ac6018469dacbc5549f9915cf8
Author: Michael Ellerman <email address hidden>
Date: Fri Dec 5 21:16:59 2014 +1100

    powerpc/kernel: Make syscall_exit a local label

    Currently when we back trace something that is in a syscall we see
    something like this:

    [c000000000000000] [c000000000000000] SyS_read+0x6c/0x110
    [c000000000000000] [c000000000000000] syscall_exit+0x0/0x98

    Although it's entirely correct, seeing syscall_exit at the bottom can be
    confusing - we were exiting from a syscall and then called SyS_read() ?

    If we instead change syscall_exit to be a local label we get something
    more intuitive:

    [c0000001fa46fde0] [c00000000026719c] SyS_read+0x6c/0x110
    [c0000001fa46fe30] [c000000000009264] system_call+0x38/0xd0

    ie. we were handling a system call, and it was SyS_read().

    Signed-off-by: Michael Ellerman <email address hidden>

commit a4bcbe6a41adcaa5e7f1830a7c1da8691d9d2b1d
Author: Michael Ellerman <email address hidden>
Date: Wed Jan 14 14:47:56 2015 +1100

    powerpc: Remove old compile time disabled syscall tracing code

    We have code to do syscall tracing which is disabled at compile time by
    default. It's not been touched since the dawn of time (ie. v2.6.12).

    There are now better ways to do syscall tracing, ie. using the
    raw_syscall, or syscall tracepoints.

    For the specific case of tracing syscalls at boot on a system that
    doesn't get to userspace, you can boot with:

      trace_event=syscalls tp_printk=on

    Which will trace syscalls from boot, and echo all output to the console.

    Signed-off-by: Michael Ellerman <email address hidden>

Jeremy Kerr (jk-ozlabs) wrote :

Also, the 'powerpc/powernv: Support OPAL requested heartbeat' change requires a couple of prereqs if you're looking to use the pristine upstream version too:

commit 08135139430fabdeaa990da8a9e0d436aad0672b
Author: Michael Ellerman <email address hidden>
Date: Wed Jan 28 15:10:33 2015 +1100

    powerpc/powernv: Remove "opal" prefix from pr_xxx()s

    In commit c8742f85125d "powerpc/powernv: Expose OPAL firmware symbol
    map" I added pr_fmt() to opal.c. This left some existing pr_xxx()s with
    duplicate "opal" prefixes, eg:

        opal: opal: Found 0 interrupts reserved for OPAL

    Fix them all up. Also make the "Not not found" message a bit more
    verbose.

    Signed-off-by: Michael Ellerman <email address hidden>

commit c1c3a526bb4ddbec7639a9fb3b84fede25b201d9
Author: Gavin Shan <email address hidden>
Date: Fri Jan 23 14:25:05 2015 +1100

    powerpc/powernv: Separate function for OPAL IRQ setup

    The patch put the OPAL interrupt setup logic in opal_init() into
    seperate function opal_irq_init() for easier code maintaining. The
    patch doesn't introduce logic changes except:

       * Rename variable names.
       * Release virtual IRQ upon error from request_irq().
       * Don't cache the virtual IRQ to opal_irqs[] upon error from
         request_irq().

    Suggested-by: Michael Ellerman <email address hidden>
    Signed-off-by: Gavin Shan <email address hidden>
    Signed-off-by: Michael Ellerman <email address hidden>

Jeremy Kerr (jk-ozlabs) wrote :

This should do the trick:

git cherry-pick 4c3b2168 a4bcbe6a 529d235a \
    08135139 c1c3a526 b921e902 \
    3bf57561 e8a51e1b 5590f319

Tim Gardner (timg-tpi) wrote :

Jeremy - thanks for the help. I've applied these patches:

powerpc/kernel: Make syscall_exit a local label
powerpc: Remove old compile time disabled syscall tracing code
powerpc: Add a proper syscall for switching endianness
powerpc/powernv: Remove "opal" prefix from pr_xxx()s
powerpc/powernv: Separate function for OPAL IRQ setup
powerpc/powernv: Add OPAL message notifier unregister function
powerpc/powernv: Support OPAL requested heartbeat
device: Add dev_of_node() accessor
drivers/core/of: Add symlink to device-tree from devices with an OF node

Launchpad Janitor (janitor) wrote :
Download full text (4.2 KiB)

This bug was fixed in the package linux - 3.19.0-13.13

---------------
linux (3.19.0-13.13) vivid; urgency=low

  [ Andy Whitcroft ]

  * [Packaging] initscripts need installing when making the package
  * [Packaging] initscripts work around bug in debhelper systemd support

  [ Jay Vosburgh ]

  * SAUCE: fan: Proof of concept implementation
    - LP: #1439706

  [ Leann Ogasawara ]

  * Release Tracking Bug
    - LP: #1442165

  [ Upstream Kernel Changes ]

  * Revert "drm: fix mismerge in drm_crtc.c"
    - LP: #1440270, #1440392
  * e1000e: initial support for i219
    - LP: #1400955
  * e1000e: fix obscure comments
    - LP: #1400955
  * e1000e: remove calls to ioremap/unmap for NVM addr
    - LP: #1400955
  * d-i: Enable usb modules on arm64
  * drm/amdkfd: Initialize only amdkfd's assigned pipelines
  * storvsc: use cmd_size to allocate per-command data
  * storvsc: in responce to a scan event, scan the host
  * storvsc: force discovery of LUNs that may have been removed.
  * storvsc: fix a bug in storvsc limits
  * Drivers: hv: vmbus: Use get_cpu() to get the current CPU
  * Tools: hv: address compiler warnings for hv_fcopy_daemon.c
  * Tools: hv: do not add redundant '/' in hv_start_fcopy()
  * Drivers: hv: hv_balloon: Make adjustments in computing the floor
  * Drivers: hv: hv_balloon: Fix a locking bug in the balloon driver
  * Drivers: hv: hv_balloon: Don't post pressure status from interrupt
    context
  * Drivers: hv: vmbus: Implement a clockevent device
  * Drivers: hv: vmbus: Fix a bug in vmbus_establish_gpadl()
  * Drivers: hv: vmbus: Support a vmbus API for efficiently sending page
    arrays
  * hv: hv_fcopy: drop the obsolete message on transfer failure
  * Drivers: hv: check vmbus_device_create() return value in
    vmbus_process_offer()
  * Drivers: hv: rename sc_lock to the more generic lock
  * Drivers: hv: vmbus: serialize Offer and Rescind offer
  * Drivers: hv: vmbus: hv_process_timer_expiration() can be static
  * hyperv: netvsc.c: match wait_for_completion_timeout return type
  * hyperv: fix sparse warnings
  * powerpc/powernv: Add OPAL soft-poweroff routine
    - LP: #1439562
  * drivers/sbus/char/envctrl.c: ignore orderly_poweroff return value
    - LP: #1439562
  * kernel/reboot.c: add orderly_reboot for graceful reboot
    - LP: #1439562
  * powerpc/powernv: reboot when requested by firmware
    - LP: #1439562
  * powerpc/kernel: Make syscall_exit a local label
    - LP: #1439562
  * powerpc: Remove old compile time disabled syscall tracing code
    - LP: #1439562
  * powerpc: Add a proper syscall for switching endianness
    - LP: #1439562
  * powerpc/powernv: Remove "opal" prefix from pr_xxx()s
    - LP: #1439562
  * powerpc/powernv: Separate function for OPAL IRQ setup
    - LP: #1439562
  * powerpc/powernv: Add OPAL message notifier unregister function
    - LP: #1439562
  * powerpc/powernv: Support OPAL requested heartbeat
    - LP: #1439562
  * device: Add dev_of_node() accessor
    - LP: #1439562
  * drivers/core/of: Add symlink to device-tree from devices with an OF
    node
    - LP: #1439562
  * ipv6: Don't reduce hop limit for an interface
    - LP: #1441103
    - CVE-2015-2922
  * x86/microcode/int...

Read more...

Changed in linux (Ubuntu Vivid):
status: Fix Committed → Fix Released
Chris J Arges (arges) on 2015-05-26
Changed in linux (Ubuntu Utopic):
assignee: nobody → Chris J Arges (arges)
Chris J Arges (arges) on 2015-05-26
description: updated
Chris J Arges (arges) wrote :

For 3.16, I'm assuming there are a lot of patchs here that may be needed:
https://github.com/open-power/linux/commits/ubuntu/utopic

Can you specify which are necessary?
Thanks

Chris J Arges (arges) wrote :

Also are any CONFIG changes necessary? I see CONFIG_MTD_POWERNV_FLASH was mentioned above, any thing additional for 3.16?

Jeremy Kerr (jk-ozlabs) wrote :

Hi Chris,

Thanks for taking this on for a utopic backport.

Instead of using that ubuntu/utopic branch in the openpower tree, I'd suggest using the upstream commits that we have listed in this bug (and Tim has applied); that way, you'll be getting the latest changes, and have less merging to do later.

We also have some patches that are on their way upstream (mentioned above, making their way to vivid as a SRU). Those are at:

  http://patchwork.ozlabs.org/bundle/jk/prd/

For config changes, we'll want:

  CONFIG_IPMI_POWERNV
  CONFIG_MTD_POWERNV_FLASH
  CONFIG_OPAL_PRD

Chris J Arges (arges) wrote :

Jeremy,

I added the following patches to Ubuntu-3.16 in this order (first cherry-pick to last):

608b286d1ddf38a7ceb624d2b689af095816d91c * had to add this, not clean
3bf57561d4dbd36ba45ce05656b0469bfdcc7ef2 clean cherry-pick
4c3b21686111e0ac6018469dacbc5549f9915cf8 clean cherry-pick
a4bcbe6a41adcaa5e7f1830a7c1da8691d9d2b1d clean cherry-pick
08135139430fabdeaa990da8a9e0d436aad0672b not clean, skip section
c1c3a526bb4ddbec7639a9fb3b84fede25b201d9 clean cherry-pick
b921e90260cec1e04988bb3763491de885b67b51 clean cherry-pick
e8a51e1b51ee5730ad3913f3962e3099a5e19359 not clean
5590f3196b293574a12be58d06d5e1120d8856ec clean cherry-pick
529d235a0e190ded1d21ccc80a73e625ebcad09b not clean, added padding for syscalls

However, I do not see the CONFIG_IPMI_POWERNV Kconfig changes anywhere, should I also add:
6a11e5c67a397e9a64cfde6961c83a7a64d7980c ?

I could not find the patch for adding CONFIG_MTD_POWERNV_FLASH.

Once I get this staged, I'll have you review since it is a large change.

For the additional patches/config changes can you file another bug to track that. Generally we wait until things are in mainline before SRUing.

--chris

Jeremy Kerr (jk-ozlabs) wrote :

Hi Chris,

Yes, 6a11e5c6 adds the IPMI driver. Is that not already in the vivid tree?

The PRD and MTD changes are headed upstream, I was just sending to you for an indication of what to expect.

Chris J Arges (arges) wrote :

Jeremy,

The target was for Utopic (3.16), which didn't have the patch, no worries I'll add it as well.
I'll put together a pull request for the list soon once I do a test build/boot.
--chris

Chris J Arges (arges) wrote :

Ok I have the patches staged here:
http://kernel.ubuntu.com/git/arges/ubuntu-utopic.git/log/?h=lp1439562

I've been able to build this and boot with it, I'll send a pull-request to the ML.

Chris J Arges (arges) on 2015-06-01
description: updated
Chris J Arges (arges) on 2015-06-02
Changed in linux (Ubuntu Utopic):
importance: Undecided → Medium
status: New → In Progress
Brad Figg (brad-figg) on 2015-06-02
Changed in linux (Ubuntu Utopic):
status: In Progress → Fix Committed
Jeremy Kerr (jk-ozlabs) wrote :

OK, the prd changes have hit linux-next:

48c0615 powerpc/powernv: Merge common platform device initialisation
594fcb9 powerpc/powernv: Expose OPAL APIs required by PRD interface
0d7cd85 powerpc/powernv: Add opal-prd channel

Would you prefer me to open a separate LP issue for these?

Once these are included, we just the the MTD change to go.

Chris J Arges (arges) wrote :

Jeremy,

Yea a new LP bug would make things easier to track, since we associate commits with LP bug#s.
Thanks!

Breno Leitão (breno-leitao) wrote :

A new bug was opened for these backports: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1464560

Luis Henriques (henrix) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-utopic' to 'verification-done-utopic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-utopic
Launchpad Janitor (janitor) wrote :
Download full text (20.2 KiB)

This bug was fixed in the package linux - 3.16.0-43.58

---------------
linux (3.16.0-43.58) utopic; urgency=low

  [ Luis Henriques ]

  * Release Tracking Bug
    - LP: #1466792

  [ Brad Figg ]

  * Merged back Ubuntu-3.16.0-41.57 regression fix for security release

linux (3.16.0-42.56) utopic; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #1465714

  [ Chris J Arges ]

  * [config] CONFIG_IPMI_POWERNV=m on ppc64el
    - LP: #1439562

  [ Luis Henriques ]

  * [Config] Disable CONFIG_USB_OTG
    - LP: #1411295

  [ Upstream Kernel Changes ]

  * Revert "i2c: Mark adapter devices with pm_runtime_no_callbacks"
    - LP: #1465613
  * Revert "mm/hugetlb: use pmd_page() in follow_huge_pmd()"
    - LP: #1465613
  * cdc-acm: prevent infinite loop when parsing CDC headers.
    - LP: #1460657
  * drivers/char/ipmi: Add powernv IPMI driver
    - LP: #1439562
  * powerpc/powernv: Add OPAL IPMI interface
    - LP: #1439562
  * powerpc/powernv: Support OPAL requested heartbeat
    - LP: #1439562
  * powerpc/kernel: Make syscall_exit a local label
    - LP: #1439562
  * powerpc: Remove old compile time disabled syscall tracing code
    - LP: #1439562
  * powerpc/powernv: Remove "opal" prefix from pr_xxx()s
    - LP: #1439562
  * powerpc/powernv: Separate function for OPAL IRQ setup
    - LP: #1439562
  * powerpc/powernv: Add OPAL message notifier unregister function
    - LP: #1439562
  * device: Add dev_of_node() accessor
    - LP: #1439562
  * drivers/core/of: Add symlink to device-tree from devices with an OF
    node
    - LP: #1439562
  * powerpc: Add a proper syscall for switching endianness
    - LP: #1439562
  * (upstream) libata: Blacklist queued TRIM on all Samsung 800-series
    - LP: #1338706, #1449005
  * ahci: avoton port-disable reset-quirk
    - LP: #1458617
  * udf: Remove repeated loads blocksize
    - LP: #1462173
    - CVE-2015-4167
  * udf: Check length of extended attributes and allocation descriptors
    - LP: #1462173
    - CVE-2015-4167
  * (upstream)scsi_lib: remove the description string in
    scsi_io_completion()
    - LP: #1449372
  * vfs: read file_handle only once in handle_to_path
    - LP: #1416503
    - CVE-2015-1420
  * ozwpan: Use unsigned ints to prevent heap overflow
    - LP: #1463442
    - CVE-2015-4001
  * ozwpan: divide-by-zero leading to panic
    - LP: #1463445
    - CVE-2015-4003
  * ozwpan: Use proper check to prevent heap overflow
    - LP: #1463444
    - CVE-2015-4002
  * ozwpan: unchecked signed subtraction leads to DoS
    - LP: #1463444
    - CVE-2015-4002
  * net: eth: xgene: devm_ioremap() returns NULL on error
    - LP: #1458042
  * drivers: net: xgene: fix new firmware backward compatibility with older
    driver
    - LP: #1458042
  * drivers: net: xgene: constify of_device_id array
    - LP: #1458042
  * drivers: net: xgene: Add second SGMII based 1G interface
    - LP: #1458042
  * dtb: change binding name to match with newer firmware DT
    - LP: #1458042
  * dtb: xgene: Add second SGMII based 1G interface node
    - LP: #1458042
  * mlx4: Fix tx ring affinity_mask creation
    - LP: #1465613
  * net/mlx4_en: Schedule napi when RX buffers allocation fails
    - LP: #1465613
...

Changed in linux (Ubuntu Utopic):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers