summaryrefslogtreecommitdiffstats
path: root/hdata
Commit message (Collapse)AuthorAgeFilesLines
* Temporary fix to expose proper MVPD size to host OSRaptor Engineering Development Team2019-04-241-0/+9
|
* hdata/iohub: Look for IOVPD on P9Oliver O'Halloran2019-03-283-3/+8
| | | | | | | | | | | P8 and P9 use the same IO VPD setup, so we need to load the IOHUB VPD on P9 systems too. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Tested-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> [stewart: fixup op920 hdat_to_dt dts expected result, remove incorrect comment, skip IOVPD loading on non-FSP.] Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata: Prevent NULL dereference on duplicate slot map infoStewart Smith2019-03-201-0/+4
| | | | Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata_to_dt: fail "gracefully" on fatal op_display()Stewart Smith2019-03-202-1/+11
| | | | Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata: Add protection against corrupt ntuples structureStewart Smith2019-03-201-0/+21
| | | | | | | | | | Found using afl-lop on P9 HDAT. Pretty obvious what the problem is once you look at it, and it's much better having a controlled failure mode than just going off randomly into memory and segfaulting. Signed-off-by: Stewart Smith <stewart@linux.ibm.com> Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/memory: Removed share-id propertyVasant Hegde2019-03-011-3/+0
| | | | | | | | | | | Commit f35a3c37 (hdata/memory: Remove find_shared()) replaed find_shared() with dt_find_name_addr(). Now we do not need PRIVATE share-id property. Lets remove this property. CC: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Reviewed-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/memory: Fix warning messageVasant Hegde2019-03-011-1/+1
| | | | | | | | | | | | | | | | Even though we added memory to device tree, we are getting below warning. Sample log: [ 57.136949696,3] Unable to use memory range 0 from MSAREA 0 [ 57.137049753,3] Unable to use memory range 0 from MSAREA 1 [ 57.137152335,3] Unable to use memory range 0 from MSAREA 2 [ 57.137251218,3] Unable to use memory range 0 from MSAREA 3 Fixes: 4822a7ba (hdata/memory: Add NVDIMM support) CC: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Reviewed-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/memory: Add NVDIMM supportOliver O'Halloran2019-02-201-10/+100
| | | | | | | | | | | | | | | NVDIMMs are memory modules that use a battery backup system to allow the contents RAM to be saved to non-volatile storage if system power goes away unexpectedly. This allows them to be used a high-performance storage device, suitable for serving as a cache for SSDs and the like. Configuration of NVDIMMs is handled by hostboot and communicated to OPAL via the HDAT. We need to parse out the NVDIMM memory ranges and create memory regions with the "pmem-region" compatible label to make them available to the host. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/memory: Remove find_shared()Oliver O'Halloran2019-02-201-40/+3
| | | | | | | | | | This helper function is used to check if the node we are about to create already exists. There's no real need for this considering we already have perfectly functional methods for searching the device-tree, so drop it in favour of the more standard dt_find_name_addr(). Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/test: Add OP920 HDAT test dataOliver O'Halloran2019-02-203-0/+4904
| | | | | | | | It's probably about time we did that. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> [stewart: add in dts result] Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/test: Fix up linux,sml-base propertyOliver O'Halloran2019-02-201-0/+15
| | | | | | | | | | The linux,sml-base property stores a raw pointer into the HDAT area. When running the hdat parser tester the load address of the HDAT will change each time the tool is run so we need to sanatise the property to get consistent output. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/i2c: Reduce severity of log messageVasant Hegde2019-02-181-1/+1
| | | | | | | | Looks like WARNING message resulting in some unnecessary bug report. Lets reduce severity to PR_NOTICE. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* Add PVR_TYPE_P9PReza Arbab2019-02-103-2/+9
| | | | | | | Enable a new PVR to get us running on another p9 variant. Signed-off-by: Reza Arbab <arbab@linux.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* Remove POWER9N DD1 supportNicholas Piggin2019-01-252-25/+0
| | | | | | | | This is not a shipping product and is no longer supported by Linux or other firmware components. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/iohub.c: remove condition that was always trueStewart Smith2018-12-101-2/+1
| | | | | | | Caught by static analysis. The previous if() condition was ensuring lxr was not null, so we don't need this additional check. Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/test: workaround dtc bugsStewart Smith2018-11-262-4/+17
| | | | | | | | | | | | | | In dtc v1.4.5 to at least v1.4.7 there have been a few bugs introduced that change the layout of what's produced in the dts. In order to be immune from them, we should use the (provided) dtdiff utility, but we also need to run the dts we're diffing against through a dtb cycle in order to ensure we get the same format as what the hdat_to_dt to dts conversion will. This fixes a bunch of unit test failures on the version of dtc shipped with recent Linux distros such as Fedora 29. Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/i2c: Skip unknown device typeVasant Hegde2018-10-161-5/+7
| | | | | | | Do not add unknown I2C devices to device tree. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/i2c: Make SPD workaround more workaroundyOliver O'Halloran2018-10-161-3/+8
| | | | | | | | | | | | | | | | | | We have a hack in the I2C device parser to fix up entries generated by hostboot for the DIMM SPD devices. For some reason they get reported as 128Kbit EEPROMs which is bad since those have a different I2C interface to an actual SPD device. Oddly enough, the FSP also gets this wrong in a slightly different way. In the FSP case they are reported as a at24c04 (4Kbit) EEPROM, which also has a different I2C interface. To fix both these problems for any eeprom we find on that bus to have the compatible string of "spd". Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/i2c: Add whitelisting for Host I2C devicesOliver O'Halloran2018-10-161-31/+37
| | | | | | | | | | | | Many of the devices that we get information about through HDAT are for use by firmware rather than the host operating system. This patch adds a boolean flag to hdat_i2c_info structure that indicates whether devices with a given purpose should be reserved for use inside of OPAL (or some other firmware component, such as the OCC). Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata: Explain what the xscom node bus-frequency isOliver O'Halloran2018-09-271-1/+4
| | | | | | | Vague documentation is about as annoying as no documentation. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hw/npu2, platform: Add NPU2 platform device detection callbackAndrew Donnellan2018-09-171-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There is no standardised way to determine the presence and type of devices connected to an NPU on POWER9. Currently, we hardcode device types based on platform type (as no platform currently supports both OpenCAPI and NVLink), and for OpenCAPI platforms we use I2C to detect presence. Witherspoon (and potentially other platforms later on) supports both NVLink and OpenCAPI, and additionally uses SXM2 connectors which can carry more than one link, rather than the SlimSAS connectors used for OpenCAPI on Zaius and ZZ. This necessitates some special handling. Add a platform callback for NPU device detection. In a later patch, we will use this to implement Witherspoon-specific device detection. For now, add a Witherspoon stub that sets all links to NVLink (i.e. current behaviour). Move the existing I2C-based presence detection for OpenCAPI devices on Zaius/ZZ into common code, which we use by default for platforms which do not define a callback. Clean up the use of the ibm,npu-link-type property, which will now be exposed solely for debugging and not consumed internally. Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> Reviewed-by: Frederic Barrat <fbarrat@linux.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/iohub: Fix Cumulus Hub ID numberOliver O'Halloran2018-09-131-1/+1
| | | | | | | It's wrong! Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
* hdata: Make sure reserved node name starts with "ibm, "Vasant Hegde2018-09-131-2/+9
| | | | | | | | | | | HDAT does not provide consistent label format for reserved memory label. Few starts with "ibm," while few other starts with component name. Lets make sure all the reserved node name starts with "ibm,". Reported-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
* hdata: Cleanup get_hb_reserved_memVasant Hegde2018-09-132-10/+7
| | | | | | | | | - Use macro for label size - Replace malloc with array Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Reviewed-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
* hdata: Make sure FW feature name is not emptyVasant Hegde2018-09-131-0/+5
| | | | | | CC: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
* hdata: Fix dtc warningsVasant Hegde2018-09-131-1/+3
| | | | | | | | | | | | | | | Fix dtc warnings related to mcbist node. Warning (reg_format): "reg" property in /xscom@623fc00000000/mcbist@1 has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1) Warning (reg_format): "reg" property in /xscom@623fc00000000/mcbist@2 has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1) Warning (reg_format): "reg" property in /xscom@603fc00000000/mcbist@1 has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1) Warning (reg_format): "reg" property in /xscom@603fc00000000/mcbist@2 has invalid length (4 bytes) (#address-cells == 1, #size-cells == 1) Ideally we should add proper xscom range here... but we are not getting that information in HDAT today. Lets fix warning until we get proper data in HDAT. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
* Fixup unit tests for cpu_queue_job() in mem_region.cStewart Smith2018-07-182-2/+9
| | | | | Fixes: 06808a037d44231ba36e814ff1dbf66bc8b707da Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* cpu: add cpu_queue_job_on_node()Nicholas Piggin2018-07-152-0/+56
| | | | | | | | | | Add a job scheduling API which will run the job on the requested chip_id (or return failure). Includes test harness fixes from Stewart. Signed-off-by: Nicholas Piggin <npiggin@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* npu2: Use same compatible string for NVLink and OpenCAPI link nodes in ↵Andrew Donnellan2018-07-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | device tree Currently, we distinguish between NPU links for NVLink devices and OpenCAPI devices through the use of two different compatible strings - ibm,npu-link and ibm,npu-link-opencapi. As we move towards supporting configurations with both NVLink and OpenCAPI devices behind a single NPU, we need to detect the device type as part of presence detection, which can't happen until well after the point where the HDAT or platform code has created the NPU device tree nodes. Changing a node's compatible string after it's been created is a bit ugly, so instead we should move the device type to a new property which we can add to the node later on. Get rid of the ibm,npu-link-opencapi compatible string, add a new ibm,npu-link-type property, and a helper function to check the link type. Add an "unknown" device type in preparation for later patches to detect device type dynamically. These device tree bindings are entirely internal to skiboot and are not consumed directly by Linux, so this shouldn't break anything (other than internal BML lab environments). Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com> Reviewed-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* vpd: Add vendor property to processor nodeVasant Hegde2018-06-273-0/+19
| | | | | | | | | Processor FRU vpd doesn't contain vendor detail. We have to parse module VPD to get vendor detail. Reported-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* vpd: Sanitize VPD dataVasant Hegde2018-06-273-24/+51
| | | | | | | | | | | | | On OpenPower system, VPD keyword size tells us the maximum size of the data. But they fill trailing end with space (0x20) instead of NULL. Also spec doesn't stop user to have space (0x20) within actual data. This patch discards trailing spaces before populating device tree. Reported-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com> Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> [stewart: fixup make check] Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata: Remove hn variable where it is unusedJoel Stanley2018-06-181-6/+5
| | | | | | | | | | Whatever this was used for appears to pre-date the public release of skiboot. Found using scan-build. Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* Quieten console output on bootStewart Smith2018-06-051-1/+1
| | | | | | | | | | | We print out a whole bunch of things on boot, most of which aren't interesting, so we should *not* print them instead. Printing things like what CPUs we found and what PCI devices we found *are* useful, so continue to do that. But we don't need to splat out a bunch of things that are always going to be true. Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/i2c.c: fix building with gcc8Stewart Smith2018-05-291-1/+1
| | | | | | | | | hdata/test/../i2c.c:200:1: error: alignment 1 of ‘struct host_i2c_hdr’ is less than 4 [-Werror=packed-not-aligned] } __packed; ^ Fixes: https://github.com/open-power/skiboot/issues/160 Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/spira.c: fix iplparams feature name string handlingStewart Smith2018-05-291-1/+3
| | | | | | | | | | Fixes this gcc8 warning: hdata/test/../spira.c: In function ‘add_iplparams_features’: hdata/test/../spira.c:1209:38: error: argument to ‘sizeof’ in ‘strncpy’ call is the same expression as the source; did you mean to use the size of the destination? [-Werror=sizeof-pointer-memaccess] strncpy(name, feature->name, sizeof(feature->name)); ^ Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/tests/stubs.c: fix GCC8 warningStewart Smith2018-05-291-2/+2
| | | | | | | | | | hdata/test/stubs.c:112:11: error: ‘lock_caller’ alias between functions of incompatible types ‘void(void)’ and ‘_Bool(void)’ [-Werror=attribute-alias] NOOP_STUB(lock_caller); ^~~~~~~~~~~ We fix it by giving the correct prototype to our stub Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata: Add TPM timeout workaroundOliver O'Halloran2018-05-221-0/+10
| | | | | | | | | | | | Set the default timeout for any bus containing a TPM to one second. This is needed to work around a bug in the firmware of certain TPMs that will clock strech the I2C port the for up to a second. Additionally, when the TPM is clock streching it responds to a STOP condition on the bus by bricking itself. Clearing this error requires a hard power cycle of the system since the TPM is powered by standby power. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata: Add 'primary' property to master chip xscom nodeVasant Hegde2018-04-302-1/+5
| | | | | | | | Needed for SBE communication as some of the SBE MBOX commands has to be sent to SBE on master chip only. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdat_to_dt: hash_prop the same on all platformsStewart Smith2018-04-301-1/+1
| | | | Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/i2c: Fix up pci hotplug labelsOliver O'Halloran2018-04-241-2/+2
| | | | | | | | | These labels are used on the devices used to do PCIe slot power control for implementing PCIe hotplug. I'm not sure how they ended up as "eeprom-pgood" and "eeprom-controller" since that doesn't make any sense. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/i2c: Ignore multi-port I2C devicesOliver O'Halloran2018-04-241-4/+13
| | | | | | | | | | | | | | | | | Recent FSP firmware builds add support for multi-port I2C devices such as the GPIO expanders used for the presence detect of OpenCAPI devices and the PCIe hotplug controllers used to power cycle PCIe slots on ZZ. The OpenCAPI driver inside of skiboot currently uses a platform-specific method to talk to the relevant I2C device rather than relying on HDAT since not all platforms correctly report the I2C devices (hello Zaius). Additionally the nature of multi-port devices require that we a device specific handler so that we generate the correct DT bindings. Currently we don't and there is no immediate need for this support so just ignore the multi-port devices for now. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/i2c: Replace i2c_ prefix with dev_Oliver O'Halloran2018-04-241-8/+8
| | | | | | | | | | | | The current naming scheme makes it easy to conflate "i2cm_port" and "i2c_port." The latter is used to describe multi-port I2C devices such as GPIO expanders and multi-channel PCIe hotplug controllers. Rename i2c_port to dev_port to make the two a bit more distinct. Also rename i2c_addr to dev_addr for consistency. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/i2c: Ignore CFAM I2C masterOliver O'Halloran2018-04-241-0/+10
| | | | | | | | | | | | | | | Recent FSP firmware builds put in information about the CFAM I2C master in addition the to host I2C masters accessible via XSCOM. Odds are this information should not be there since there's no handshaking between the FSP/BMC and the host over who controls that I2C master, but it is so we need to deal with it. This patch adds filtering to the HDAT parser so it ignores the CFAM I2C master. Without this it will create a bogus i2cm@<addr> which migh cause issues. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/slots: Apply slot label to the parent slotOliver O'Halloran2018-04-232-2/+22
| | | | | | | | | | Slot names only really make sense when applied to an actual slot rather than a device. On witherspoon the GPU devices have a name associated with the device rather than the slot for the GPUs. Add a hack that moves the slot label to the parent slot rather than on the device itself. Signed-off-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/tpmrel: detect tpm not present by looking up the stinfo->statusClaudio Carvalho2018-04-231-0/+8
| | | | | | | | | | | | | | | | Skiboot detects if tpm is present by checking if a secureboot_tpm_info entry exists. However, if a tpm is not present, hostboot also creates a secureboot_tpm_info entry. In this case, hostboot creates an empty entry, but setting the field tpm_status to TPM_NOT_PRESENT. This detects if tpm is not present by looking up the stinfo->status. This fixes the "TPMREL: TPM node not found for chip_id=0 (HB bug)" issue, reproduced when skiboot is running on a system that has no tpm. Signed-off-by: Claudio Carvalho <cclaudio@linux.vnet.ibm.com> Tested-by: Pridhiviraj Paidipeddi <ppaidipe@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata: Add DIMM actual speed to device treeVasant Hegde2018-04-231-1/+8
| | | | | | | | Recent HDAT provides DIMM actuall speed. Lets add this to device tree. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> [stewart: use Hz rather than Mhz, consistent with other properties] Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata: Fix DIMM size propertyVasant Hegde2018-04-233-36/+17
| | | | | | | | | | | Today we parse vpd blob to get DIMM size information. This is limited to FSP based system. HDAT provides DIMM size value. Lets use that to populate device tree. So that we can get size information on BMC based system as well. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> CC: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata/spira: parse vpd to add part-number and serial-number to xscom@ nodeStewart Smith2018-04-113-1/+15
| | | | | | | | | Expected by FWTS and associates our processor with the part/serial number, which is obviously a good thing for one's own sanity. Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com> Reviewed-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdata: Move 'HRMOR_BIT' macro to header fileVasant Hegde2018-04-113-5/+8
| | | | | | | | Its already defined twice. And soon I want to use in few other place. Lets move it to header file. Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
* hdat/i2c.c: quieten "v2 found, parsing as v1"Stewart Smith2018-04-101-2/+18
| | | | | Suggested-by: Oliver O'Halloran <oohall@gmail.com> Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
OpenPOWER on IntegriCloud