All of lore.kernel.org
 help / color / mirror / Atom feed
From: "H. Peter Anvin" <hpa@zytor.com>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Cyrill Gorcunov <gorcunov@gmail.com>, Ingo Molnar <mingo@elte.hu>,
	Thomas Gleixner <tglx@linutronix.de>,
	Pekka Enberg <penberg@cs.helsinki.fi>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH -v3 2/2] x86: more early console output from	compressed/misc.c
Date: Mon, 02 Aug 2010 13:38:19 -0700	[thread overview]
Message-ID: <4C572CBB.1070403@zytor.com> (raw)
In-Reply-To: <4C571DF2.5080100@kernel.org>

On 08/02/2010 12:35 PM, Yinghai Lu wrote:
> 
> it seems I can not global variables in arch/x86/boot/compressed/misc.c
> 

Well, that should be fixed, then.  If we can't use the linker for what
it's supposed to be used for it's just crap.

> and misc.c already include some decompress .c like
> 
> #ifdef CONFIG_KERNEL_GZIP
> #include "../../../../lib/decompress_inflate.c"
> #endif
> 
> #ifdef CONFIG_KERNEL_BZIP2
> #include "../../../../lib/decompress_bunzip2.c"
> #endif
> 
> #ifdef CONFIG_KERNEL_LZMA
> #include "../../../../lib/decompress_unlzma.c"
> #endif
> 
> #ifdef CONFIG_KERNEL_LZO
> #include "../../../../lib/decompress_unlzo.c"
> #endif
> 

Yes, I know; that's crap in a lot of ways too... the whole decompression
stuff is its own issue which is slowly being addressed.  It's not an
excuse to make the code crappier than it already is.

> 
> this patch change to misc.c are following lines:
> 
> #define BOOT_BOOT_H
> #include "../isdigit.h"
> #include "../string.c"
> #include "../printf.c"
> 
> ...
> 
> static unsigned long fs;
> static inline void set_fs(unsigned long seg)
> {
>         fs = seg << 4;  /* shift it back */
> }
> typedef unsigned long addr_t;
> static inline char rdfs8(addr_t addr)
> {
>         return *((char *)(fs + addr));
> }
> #include "../cmdline.c"
> static inline int cmdline_find_option(const char *option, char *buffer, int bufsize)
> {
>         return __cmdline_find_option(real_mode->hdr.cmd_line_ptr, option, buffer, bufsize);
> }
> static inline int cmdline_find_option_bool(const char *option)
> {
>         return __cmdline_find_option_bool(real_mode->hdr.cmd_line_ptr, option);
> }
> static int early_serial_base;
> #include "../early_serial_console.c"
> 
> or put them in another file?
> 

Hmf... games with set_fs() aren't a whole lot of fun at all.  I think it
would be better to define some wrappers specific to cmdline.c which
allow it to be using a real pointer in 32-bit mode.

I'll see if I can muck with it, it shouldn't take long.

	-hpa



  reply	other threads:[~2010-08-02 20:39 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-02  7:13 [PATCH 1/2] x86, setup: reorgize the early_console_setup Yinghai Lu
2010-08-02  7:14 ` [PATCH 2/2] x86: more early console output from compressed/misc.c Yinghai Lu
2010-08-02  7:16 ` [PATCH 1/2] x86, setup: reorgize the early_console_setup H. Peter Anvin
2010-08-02  8:24   ` [PATCH -v2 " Yinghai Lu
2010-08-02  8:26     ` [PATCH -v2 2/2] x86: more early console output from compressed/misc.c Yinghai Lu
2010-08-02  9:17     ` [PATCH -v3 1/2] x86, setup: reorgize the early_console_setup Yinghai Lu
2010-08-02  9:18       ` [PATCH -v3 2/2] x86: more early console output from compressed/misc.c Yinghai Lu
2010-08-02 17:49         ` Cyrill Gorcunov
2010-08-02 18:38           ` H. Peter Anvin
2010-08-02 18:54             ` Cyrill Gorcunov
2010-08-02 18:58               ` H. Peter Anvin
2010-08-02 19:35                 ` Yinghai Lu
2010-08-02 20:38                   ` H. Peter Anvin [this message]
2010-08-02 20:59                   ` H. Peter Anvin
2010-08-02 21:08                     ` H. Peter Anvin
2010-08-02 21:22                       ` Yinghai Lu
2010-08-02 21:27                       ` H. Peter Anvin
2010-08-02 21:36                         ` Yinghai Lu
2010-08-02 22:30                         ` Yinghai Lu
2010-08-02 22:46                           ` H. Peter Anvin
2010-08-02 22:51                             ` Yinghai Lu
2010-08-02 23:21                               ` Yinghai Lu
2010-08-03  4:10                                 ` [tip:x86/setup] x86, setup: move isdigit.h to ctype.h, header files on top tip-bot for H. Peter Anvin
2010-08-03  3:30                         ` [tip:x86/setup] x86, setup: Allow global variables and functions in the decompressor tip-bot for H. Peter Anvin
2010-08-02 17:43       ` [PATCH -v3 1/2] x86, setup: reorgize the early_console_setup Cyrill Gorcunov
2010-08-02 19:15         ` Yinghai Lu
2010-08-03  3:31       ` [tip:x86/setup] x86, setup: reorganize the early console setup tip-bot for Yinghai Lu
2010-08-02  7:18 ` [PATCH 1/2] x86, setup: reorgize the early_console_setup H. Peter Anvin
2010-08-02 15:09 ` Cyrill Gorcunov
2010-08-02 19:23   ` Yinghai Lu
2010-08-02 20:17     ` Cyrill Gorcunov
2010-08-02 20:30       ` Yinghai Lu
2010-08-02 20:36         ` Cyrill Gorcunov
2010-08-03  7:14       ` [PATCH -v3] x86: Setup early console as early as possible Yinghai Lu
2010-08-03  9:06         ` Andrew Morton
2010-08-03  9:09           ` Yinghai Lu
2010-08-03 10:14           ` Yinghai Lu
2010-08-03 15:07         ` Cyrill Gorcunov
2010-08-02 17:56 ` [PATCH 1/2] x86, setup: reorgize the early_console_setup Thiago Farina
2010-08-02 18:00   ` Thiago Farina
2010-08-02 18:27   ` H. Peter Anvin
2010-08-02 19:09     ` Thiago Farina
2010-08-02 20:33       ` H. Peter Anvin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4C572CBB.1070403@zytor.com \
    --to=hpa@zytor.com \
    --cc=gorcunov@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=penberg@cs.helsinki.fi \
    --cc=tglx@linutronix.de \
    --cc=yinghai@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.