forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel…
…/git/s390/linux Pull s390 updates from Martin Schwidefsky: "The bulk of the s390 updates for v3.14. New features are the perf support for the CPU-Measurement Sample Facility and the EP11 support for the crypto cards. And the normal cleanups and bug-fixes" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (44 commits) s390/cpum_sf: fix printk format warnings s390: Fix misspellings using 'codespell' tool s390/qdio: bridgeport support - CHSC part s390: delete new instances of __cpuinit usage s390/compat: fix PSW32_USER_BITS definition s390/zcrypt: add support for EP11 coprocessor cards s390/mm: optimize randomize_et_dyn for !PF_RANDOMIZE s390: use IS_ENABLED to check if a CONFIG is set to y or m s390/cio: use device_lock to synchronize calls to the ccwgroup driver s390/cio: use device_lock to synchronize calls to the ccw driver s390/cio: fix unlocked access of online member s390/cpum_sf: Add flag to process full SDBs only s390/cpum_sf: Add raw data sampling to support the diagnostic-sampling function s390/cpum_sf: Filter perf events based event->attr.exclude_* settings s390/cpum_sf: Detect KVM guest samples s390/cpum_sf: Add helper to read TOD from trailer entries s390/cpum_sf: Atomically reset trailer entry fields of sample-data-blocks s390/cpum_sf: Dynamically extend the sampling buffer if overflows occur s390/pci: reenable per default s390/pci/dma: fix accounting of allocated_pages ...
- Loading branch information
Showing
54 changed files
with
3,383 additions
and
351 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
/*? | ||
* Text: "Cryptographic device %x failed and was set offline\n" | ||
* Severity: Error | ||
* Parameter: | ||
* @1: device index | ||
* Description: | ||
* A cryptographic device failed to process a cryptographic request. | ||
* The cryptographic device driver could not correct the error and | ||
* set the device offline. The application that issued the | ||
* request received an indication that the request has failed. | ||
* User action: | ||
* Use the lszcrypt command to confirm that the cryptographic | ||
* hardware is still configured to your LPAR or z/VM guest virtual | ||
* machine. If the device is available to your Linux instance the | ||
* command output contains a line that begins with 'card<device index>', | ||
* where <device index> is the two-digit decimal number in the message text. | ||
* After ensuring that the device is available, use the chzcrypt command to | ||
* set it online again. | ||
* If the error persists, contact your support organization. | ||
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,26 +1,96 @@ | ||
/* | ||
* Performance event support - s390 specific definitions. | ||
* | ||
* Copyright IBM Corp. 2009, 2012 | ||
* Copyright IBM Corp. 2009, 2013 | ||
* Author(s): Martin Schwidefsky <schwidefsky@de.ibm.com> | ||
* Hendrik Brueckner <brueckner@linux.vnet.ibm.com> | ||
*/ | ||
|
||
#include <asm/cpu_mf.h> | ||
#ifndef _ASM_S390_PERF_EVENT_H | ||
#define _ASM_S390_PERF_EVENT_H | ||
|
||
/* CPU-measurement counter facility */ | ||
#define PERF_CPUM_CF_MAX_CTR 256 | ||
#ifdef CONFIG_64BIT | ||
|
||
#include <linux/perf_event.h> | ||
#include <linux/device.h> | ||
#include <asm/cpu_mf.h> | ||
|
||
/* Per-CPU flags for PMU states */ | ||
#define PMU_F_RESERVED 0x1000 | ||
#define PMU_F_ENABLED 0x2000 | ||
#define PMU_F_IN_USE 0x4000 | ||
#define PMU_F_ERR_IBE 0x0100 | ||
#define PMU_F_ERR_LSDA 0x0200 | ||
#define PMU_F_ERR_MASK (PMU_F_ERR_IBE|PMU_F_ERR_LSDA) | ||
|
||
/* Perf defintions for PMU event attributes in sysfs */ | ||
extern __init const struct attribute_group **cpumf_cf_event_group(void); | ||
extern ssize_t cpumf_events_sysfs_show(struct device *dev, | ||
struct device_attribute *attr, | ||
char *page); | ||
#define EVENT_VAR(_cat, _name) event_attr_##_cat##_##_name | ||
#define EVENT_PTR(_cat, _name) (&EVENT_VAR(_cat, _name).attr.attr) | ||
|
||
#define CPUMF_EVENT_ATTR(cat, name, id) \ | ||
PMU_EVENT_ATTR(name, EVENT_VAR(cat, name), id, cpumf_events_sysfs_show) | ||
#define CPUMF_EVENT_PTR(cat, name) EVENT_PTR(cat, name) | ||
|
||
#ifdef CONFIG_64BIT | ||
|
||
/* Perf callbacks */ | ||
struct pt_regs; | ||
extern unsigned long perf_instruction_pointer(struct pt_regs *regs); | ||
extern unsigned long perf_misc_flags(struct pt_regs *regs); | ||
#define perf_misc_flags(regs) perf_misc_flags(regs) | ||
|
||
/* Perf pt_regs extension for sample-data-entry indicators */ | ||
struct perf_sf_sde_regs { | ||
unsigned char in_guest:1; /* guest sample */ | ||
unsigned long reserved:63; /* reserved */ | ||
}; | ||
|
||
/* Perf PMU definitions for the counter facility */ | ||
#define PERF_CPUM_CF_MAX_CTR 256 | ||
|
||
/* Perf PMU definitions for the sampling facility */ | ||
#define PERF_CPUM_SF_MAX_CTR 2 | ||
#define PERF_EVENT_CPUM_SF 0xB0000UL /* Event: Basic-sampling */ | ||
#define PERF_EVENT_CPUM_SF_DIAG 0xBD000UL /* Event: Combined-sampling */ | ||
#define PERF_CPUM_SF_BASIC_MODE 0x0001 /* Basic-sampling flag */ | ||
#define PERF_CPUM_SF_DIAG_MODE 0x0002 /* Diagnostic-sampling flag */ | ||
#define PERF_CPUM_SF_MODE_MASK (PERF_CPUM_SF_BASIC_MODE| \ | ||
PERF_CPUM_SF_DIAG_MODE) | ||
#define PERF_CPUM_SF_FULL_BLOCKS 0x0004 /* Process full SDBs only */ | ||
|
||
#define REG_NONE 0 | ||
#define REG_OVERFLOW 1 | ||
#define OVERFLOW_REG(hwc) ((hwc)->extra_reg.config) | ||
#define SFB_ALLOC_REG(hwc) ((hwc)->extra_reg.alloc) | ||
#define RAWSAMPLE_REG(hwc) ((hwc)->config) | ||
#define TEAR_REG(hwc) ((hwc)->last_tag) | ||
#define SAMPL_RATE(hwc) ((hwc)->event_base) | ||
#define SAMPL_FLAGS(hwc) ((hwc)->config_base) | ||
#define SAMPL_DIAG_MODE(hwc) (SAMPL_FLAGS(hwc) & PERF_CPUM_SF_DIAG_MODE) | ||
#define SDB_FULL_BLOCKS(hwc) (SAMPL_FLAGS(hwc) & PERF_CPUM_SF_FULL_BLOCKS) | ||
|
||
/* Structure for sampling data entries to be passed as perf raw sample data | ||
* to user space. Note that raw sample data must be aligned and, thus, might | ||
* be padded with zeros. | ||
*/ | ||
struct sf_raw_sample { | ||
#define SF_RAW_SAMPLE_BASIC PERF_CPUM_SF_BASIC_MODE | ||
#define SF_RAW_SAMPLE_DIAG PERF_CPUM_SF_DIAG_MODE | ||
u64 format; | ||
u32 size; /* Size of sf_raw_sample */ | ||
u16 bsdes; /* Basic-sampling data entry size */ | ||
u16 dsdes; /* Diagnostic-sampling data entry size */ | ||
struct hws_basic_entry basic; /* Basic-sampling data entry */ | ||
struct hws_diag_entry diag; /* Diagnostic-sampling data entry */ | ||
u8 padding[]; /* Padding to next multiple of 8 */ | ||
} __packed; | ||
|
||
/* Perf hardware reserve and release functions */ | ||
int perf_reserve_sampling(void); | ||
void perf_release_sampling(void); | ||
|
||
#endif /* CONFIG_64BIT */ | ||
#endif /* _ASM_S390_PERF_EVENT_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.