Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754123AbbDMOC3 (ORCPT ); Mon, 13 Apr 2015 10:02:29 -0400 Received: from e06smtp11.uk.ibm.com ([195.75.94.107]:47150 "EHLO e06smtp11.uk.ibm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754190AbbDMN5H (ORCPT ); Mon, 13 Apr 2015 09:57:07 -0400 From: Michael Mueller To: qemu-devel@nongnu.org, kvm@vger.kernel.org, linux-s390@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Eduardo Habkost , Gleb Natapov , Alexander Graf , Christian Borntraeger , "Jason J. Herne" , Cornelia Huck , Paolo Bonzini , Michael Mueller , Andreas Faerber , Richard Henderson , Daniel Hansel Subject: [PATCH v5 06/17] target-s390x: Introduce S390 CPU facilities Date: Mon, 13 Apr 2015 15:56:25 +0200 Message-Id: <1428933396-37887-7-git-send-email-mimu@linux.vnet.ibm.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: <1428933396-37887-1-git-send-email-mimu@linux.vnet.ibm.com> References: <1428933396-37887-1-git-send-email-mimu@linux.vnet.ibm.com> X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 15041313-0041-0000-0000-0000040A43B3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4246 Lines: 109 The patch introduces S390 CPU facility bit numbers and names as well as the architectural facility size limit in bytes. Signed-off-by: Michael Mueller --- target-s390x/cpu-facilities.h | 86 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 target-s390x/cpu-facilities.h diff --git a/target-s390x/cpu-facilities.h b/target-s390x/cpu-facilities.h new file mode 100644 index 0000000..db1f064 --- /dev/null +++ b/target-s390x/cpu-facilities.h @@ -0,0 +1,86 @@ +/* + * CPU facilities for s390 + * + * Copyright 2015 IBM Corp. + * + * Author(s): Michael Mueller + * + * This work is licensed under the terms of the GNU GPL, version 2 or (at + * your option) any later version. See the COPYING file in the top-level + * directory. + */ + +#ifndef TARGET_S390X_CPU_FACILITIES_H +#define TARGET_S390X_CPU_FACILITIES_H + +/* architectural size of facilities is 2KB */ +#define FAC_LIST_ARCH_S390_SIZE_UINT8 (1<<11) + +/* CPU facility bits */ +typedef enum { + FAC_N3 = 0, + FAC_ZARCH = 1, + FAC_ZARCH_ACTIVE = 2, + FAC_DAT_ENH = 3, + FAC_ASN_LX_REUSE = 6, + FAC_STFLE = 7, + FAC_ENHANCED_DAT_1 = 8, + FAC_SENSE_RUNNING_STATUS = 9, + FAC_CONDITIONAL_SSKE = 10, + FAC_CONFIGURATION_TOPOLOGY = 11, + FAC_IPTE_RANGE = 13, + FAC_NONQ_KEY_SETTING = 14, + FAC_EXTENDED_TRANSLATION_2 = 16, + FAC_MESSAGE_SECURITY_ASSIST = 17, + FAC_LONG_DISPLACEMENT = 18, + FAC_LONG_DISPLACEMENT_FAST = 19, + FAC_HFP_MADDSUB = 20, + FAC_EXTENDED_IMMEDIATE = 21, + FAC_EXTENDED_TRANSLATION_3 = 22, + FAC_HFP_UNNORMALIZED_EXT = 23, + FAC_ETF2_ENH = 24, + FAC_STORE_CLOCK_FAST = 25, + FAC_PARSING_ENH = 26, + FAC_MOVE_WITH_OPTIONAL_SPEC = 27, + FAC_TOD_CLOCK_STEERING = 28, + FAC_ETF3_ENH = 30, + FAC_EXTRACT_CPU_TIME = 31, + FAC_COMPARE_AND_SWAP_AND_STORE = 32, + FAC_COMPARE_AND_SWAP_AND_STORE_2 = 33, + FAC_GENERAL_INSTRUCTIONS_EXT = 34, + FAC_EXECUTE_EXT = 35, + FAC_ENHANCED_MONITOR = 36, + FAC_FLOATING_POINT_EXT = 37, + FAC_LOAD_PROGRAM_PARAMETERS = 40, + FAC_FLOATING_POINT_SUPPPORT_ENH = 41, + FAC_DFP = 42, + FAC_DFP_FAST = 43, + FAC_PFPO = 44, + FAC_MULTI_45 = 45, + FAC_CMPSC_ENH = 47, + FAC_DFP_ZONED_CONVERSION = 48, + FAC_MULTI_49 = 49, + FAC_CONSTRAINT_TRANSACTIONAL_EXE = 50, + FAC_LOCAL_TLB_CLEARING = 51, + FAC_INTERLOCKED_ACCESS_2 = 52, + FAC_LOAD_STORE_ON_COND_2 = 53, + FAC_MESSAGE_SECURITY_ASSIST_5 = 57, + FAC_RESET_REFERENCE_BITS_MULTIPLE = 66, + FAC_CPU_MEASUREMENT_COUNTER = 67, + FAC_CPU_MEASUREMENT_SAMPLING = 68, + FAC_TRANSACTIONAL_EXE = 73, + /* + * The store-hypervisor-information facility #74 is + * z/VM related and when added to be handled by QEMU + * when hosted on LPAR. (see: SC24-6179-05 page 953) + */ + FAC_ACCESS_EXCEPTION_FS_INDICATION = 75, + FAC_MESSAGE_SECURITY_ASSIST_3 = 76, + FAC_MESSAGE_SECURITY_ASSIST_4 = 77, + FAC_ENHANCED_DAT_2 = 78, + FAC_DFP_PACKED_CONVERSION = 80, + FAC_VECTOR = 129, + FAC_STORE_CPU_COUNTER_MULTI = 142, +} S390Facility; + +#endif -- 1.8.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/