diff options
author | Martin Schwidefsky | 2010-02-26 22:37:38 +0100 |
---|---|---|
committer | Martin Schwidefsky | 2010-02-26 22:37:31 +0100 |
commit | 27d71602b4a605fbb31088e69ac12187e69a9443 (patch) | |
tree | 2f4203a85e5191abbb6ffd21c277eb2afb23a0ab /arch/s390/kernel/early.c | |
parent | [S390] qdio: optimize cache line usage of struct qdio_irq (diff) | |
download | kernel-qcow2-linux-27d71602b4a605fbb31088e69ac12187e69a9443.tar.gz kernel-qcow2-linux-27d71602b4a605fbb31088e69ac12187e69a9443.tar.xz kernel-qcow2-linux-27d71602b4a605fbb31088e69ac12187e69a9443.zip |
[S390] add MACHINE_IS_LPAR flag
Introduce the MACHINE_IS_LPAR flag for code that should only be
executed if Linux is running in an LPAR.
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/early.c')
-rw-r--r-- | arch/s390/kernel/early.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/s390/kernel/early.c b/arch/s390/kernel/early.c index e49e9e0c69fd..02e45861b55b 100644 --- a/arch/s390/kernel/early.c +++ b/arch/s390/kernel/early.c @@ -214,10 +214,13 @@ static __initdata struct sysinfo_3_2_2 vmms __aligned(PAGE_SIZE); static noinline __init void detect_machine_type(void) { - /* No VM information? Looks like LPAR */ - if (stsi(&vmms, 3, 2, 2) == -ENOSYS) + /* Check current-configuration-level */ + if ((stsi(NULL, 0, 0, 0) >> 28) <= 2) { + S390_lowcore.machine_flags |= MACHINE_FLAG_LPAR; return; - if (!vmms.count) + } + /* Get virtual-machine cpu information. */ + if (stsi(&vmms, 3, 2, 2) == -ENOSYS || !vmms.count) return; /* Running under KVM? If not we assume z/VM */ |