Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754074AbbBHNjq (ORCPT ); Sun, 8 Feb 2015 08:39:46 -0500 Received: from mail-ob0-f176.google.com ([209.85.214.176]:40939 "EHLO mail-ob0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751679AbbBHNjp (ORCPT ); Sun, 8 Feb 2015 08:39:45 -0500 MIME-Version: 1.0 In-Reply-To: <1423398812-779-1-git-send-email-kuleshovmail@gmail.com> References: <1423398812-779-1-git-send-email-kuleshovmail@gmail.com> Date: Sun, 8 Feb 2015 19:39:44 +0600 Message-ID: Subject: Re: [PATCH] [Bugfix] x86/boot/compressed: Fix serial I/O during compressed boot From: Alexander Kuleshov To: "H. Peter Anvin" , Thomas Gleixner , Ingo Molnar , Kees Cook , Vivek Goyal Cc: linux-kernel@vger.kernel.org, Andi Kleen , Alexander Kuleshov Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2927 Lines: 85 rejected 2015-02-08 18:33 GMT+06:00 Alexander Kuleshov : > Previously it used early_serial_base from the > arch/x86/boot/compressed/early_serial_console.c, and it's zero everytime, > so serial I/O didn't work/print anything in the kernel decompressing code. > > Let's define early_serial_base in the arch/x86/boot/early_serial_console.c > and make it extern, so code from boot/compressed directory can use it. > > Signed-off-by: Alexander Kuleshov > --- > arch/x86/boot/compressed/early_serial_console.c | 2 -- > arch/x86/boot/compressed/misc.c | 3 ++- > arch/x86/boot/early_serial_console.c | 2 ++ > arch/x86/boot/tty.c | 2 -- > 4 files changed, 4 insertions(+), 5 deletions(-) > > diff --git a/arch/x86/boot/compressed/early_serial_console.c b/arch/x86/boot/compressed/early_serial_console.c > index 261e81f..c80d915 100644 > --- a/arch/x86/boot/compressed/early_serial_console.c > +++ b/arch/x86/boot/compressed/early_serial_console.c > @@ -1,5 +1,3 @@ > #include "misc.h" > > -int early_serial_base; > - > #include "../early_serial_console.c" > diff --git a/arch/x86/boot/compressed/misc.c b/arch/x86/boot/compressed/misc.c > index a950864..2bde4db 100644 > --- a/arch/x86/boot/compressed/misc.c > +++ b/arch/x86/boot/compressed/misc.c > @@ -390,7 +390,8 @@ asmlinkage __visible void *decompress_kernel(void *rmode, memptr heap, > lines = real_mode->screen_info.orig_video_lines; > cols = real_mode->screen_info.orig_video_cols; > > - console_init(); > /* > * serial i/o can be already initialized if we runned in 16-bit > * real mode and didn't use 32/64-bit boot protocol. > */ > + if (!early_serial_base) > + console_init(); > debug_putstr("early console in decompress_kernel\n"); > > free_mem_ptr = heap; /* Heap */ > diff --git a/arch/x86/boot/early_serial_console.c b/arch/x86/boot/early_serial_console.c > index 5df2869..af32b39 100644 > --- a/arch/x86/boot/early_serial_console.c > +++ b/arch/x86/boot/early_serial_console.c > @@ -1,5 +1,7 @@ > #include "boot.h" > > +int early_serial_base; > + > #define DEFAULT_SERIAL_PORT 0x3f8 /* ttyS0 */ > > #define XMTRDY 0x20 > diff --git a/arch/x86/boot/tty.c b/arch/x86/boot/tty.c > index def2451..0cb0b4c 100644 > --- a/arch/x86/boot/tty.c > +++ b/arch/x86/boot/tty.c > @@ -15,8 +15,6 @@ > > #include "boot.h" > > -int early_serial_base; > - > #define XMTRDY 0x20 > > #define TXR 0 /* Transmit register (WRITE) */ > -- > 2.3.0 > -- _________________________ 0xAX -- 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/