aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/processor.c
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.vnet.ibm.com>2009-03-26 15:24:56 +0100
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2009-03-26 15:24:32 +0100
commit488253ce49714f4e9d42413c1d60b7724059a338 (patch)
treebb19988030f8015238437f98e49e8388c6c8e17e /arch/s390/kernel/processor.c
parent7e9b580e5f0644cd8952b6671fd5380fd430bca3 (diff)
downloadkernel_goldelico_gta04-488253ce49714f4e9d42413c1d60b7724059a338.zip
kernel_goldelico_gta04-488253ce49714f4e9d42413c1d60b7724059a338.tar.gz
kernel_goldelico_gta04-488253ce49714f4e9d42413c1d60b7724059a338.tar.bz2
[S390] Add hwcap flag for the etf3 enhancement facility
The Extended Translation Facility 3 (ETF3) added instructions which allow conversions between different unicode character maps (UTF-8, UTF-32 ...). These instructions got enhanced with a later version of the ETF3 allowing malformed multibyte chars to be recognized and reported correctly. The attached patch reserves bit 8 in the elf hwcaps vector for the enhanced version of ETF3. The bit corresponds to the stfle bits 22 and 30 and will only be set if both of the stfle bits are set. Signed-off-by: Andreas Krebbel <krebbel@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/processor.c')
-rw-r--r--arch/s390/kernel/processor.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/s390/kernel/processor.c b/arch/s390/kernel/processor.c
index 423da1b..802c8ab 100644
--- a/arch/s390/kernel/processor.c
+++ b/arch/s390/kernel/processor.c
@@ -31,9 +31,9 @@ void __cpuinit print_cpu_info(void)
static int show_cpuinfo(struct seq_file *m, void *v)
{
- static const char *hwcap_str[8] = {
+ static const char *hwcap_str[9] = {
"esan3", "zarch", "stfle", "msa", "ldisp", "eimm", "dfp",
- "edat"
+ "edat", "etf3eh"
};
struct _lowcore *lc;
unsigned long n = (unsigned long) v - 1;
@@ -48,7 +48,7 @@ static int show_cpuinfo(struct seq_file *m, void *v)
num_online_cpus(), loops_per_jiffy/(500000/HZ),
(loops_per_jiffy/(5000/HZ))%100);
seq_puts(m, "features\t: ");
- for (i = 0; i < 8; i++)
+ for (i = 0; i < 9; i++)
if (hwcap_str[i] && (elf_hwcap & (1UL << i)))
seq_printf(m, "%s ", hwcap_str[i]);
seq_puts(m, "\n");