From d90cbd469c9c7c1494fc2084af9319e6a557368b Mon Sep 17 00:00:00 2001 From: Heiko Carstens Date: Fri, 12 Jun 2009 10:26:24 +0200 Subject: [S390] add mini sclp driver This adds a mini sclp device driver for very early use. The primary and probably only use will be to emit a message to the console if the cpu doesn't provide the minimum required capabilities to run the kernel. After printing the message a disabled wait will be loaded and the machine stops operating. Printing the message is also part of this patch. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky --- arch/s390/kernel/head.S | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) (limited to 'arch/s390/kernel/head.S') diff --git a/arch/s390/kernel/head.S b/arch/s390/kernel/head.S index bf8cf1caeff..6d227413cbe 100644 --- a/arch/s390/kernel/head.S +++ b/arch/s390/kernel/head.S @@ -1,7 +1,5 @@ /* - * arch/s390/kernel/head.S - * - * Copyright (C) IBM Corp. 1999,2006 + * Copyright IBM Corp. 1999,2009 * * Author(s): Hartmut Penner * Martin Schwidefsky @@ -494,7 +492,19 @@ startup:basr %r13,0 # get base n %r0,2f+12-.LPG0(%r13) cl %r0,2f+12-.LPG0(%r13) je 3f -1: lpsw 2f-.LPG0(13) # machine type not good enough, crash +1: l %r15,.Lstack-.LPG0(%r13) + ahi %r15,1<<(PAGE_SHIFT+THREAD_ORDER) # init_task_union+THREAD_SIZE + ahi %r15,-96 + la %r2,.Lals_string-.LPG0(%r13) + l %r3,.Lsclp_print-.LPG0(%r13) + basr %r14,%r3 + lpsw 2f-.LPG0(%r13) # machine type not good enough, crash +.Lals_string: + .asciz "The Linux kernel requires more recent processor hardware" +.Lsclp_print: + .long _sclp_print_early +.Lstack: + .long init_thread_union .align 16 2: .long 0x000a0000,0x8badcccc #if defined(CONFIG_64BIT) -- cgit v1.2.3-70-g09d2