From: Adrian Bunk <bunk@stusta.de>
To: "H. Peter Anvin" <hpa@zytor.com>
Cc: Segher Boessenkool <segher@kernel.crashing.org>,
Andi Kleen <ak@suse.de>,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
akpm@linux-foundation.org
Subject: Re: [x86 setup 13/33] Header file to produce 16-bit code with gcc
Date: Tue, 10 Jul 2007 23:43:15 +0200 [thread overview]
Message-ID: <20070710214315.GD3492@stusta.de> (raw)
In-Reply-To: <4693EF48.1080209@zytor.com>
On Tue, Jul 10, 2007 at 01:42:48PM -0700, H. Peter Anvin wrote:
> Segher Boessenkool wrote:
> >
> > Well at least with -fno-toplevel-reorder it is guaranteed
> > to work (not the same thing as "is working", heh, but fairly
> > close).
> >
> > It seems to me GCC should grow an option to insert .code16gcc
> > by itself (-m16 perhaps?) Or GAS could get a flag to include
> > a file as a prelude before the main thing. Neither will help
> > Linux right now of course.
>
> -m16 is the right thing, and it also provides a proper hook for
> eventually having a real 16-bit backend (there are at least two
> projects for doing that.)
>
> For now, I have:
Can't you use the global CFLAGS and append your specific ones?
> CFLAGS := $(LINUXINCLUDE) -g -Os -D_SETUP -D__KERNEL__ \
-g ???
> $(cflags-$(ARCH)) \
> -Wall -Wstrict-prototypes \
> -march=i386 -mregparm=3 \
Why -march=i386 ?
> -include $(srctree)/$(src)/code16gcc.h \
> -fno-strict-aliasing -fomit-frame-pointer \
> $(call cc-option, -ffreestanding) \
No need to test, -ffreestanding is supported by all gcc versions we
support.
> $(call cc-option, -fno-unit-at-a-time) \
> $(call cc-option, -fno-toplevel-reorder) \
> $(call cc-option, -fno-stack-protector) \
> $(call cc-option, -mpreferred-stack-boundary=2)
>
> ... since that will require less violence to eventually hack in the
> proper -m16 option if/when it becomes available.
>
> -hpa
cu
Adrian
--
"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed
next prev parent reply other threads:[~2007-07-10 21:42 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-10 2:51 x86 setup code rewrite in C H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 01/33] x86 setup: MAINTAINERS: formally take responsibility for the i386 boot code H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 02/33] hd.c: remove BIOS/CMOS queries H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 03/33] include/asm-i386/boot.h: This is <asm/boot.h>, not <linux/boot.h> H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 04/33] Unify the CPU features vectors between i386 and x86-64 H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 05/33] Change CONFIG_X86_MINIMUM_CPU_MODEL to CONFIG_X86_MINIMUM_CPU_FAMILY H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 06/33] Clean up struct screen_info (<linux/screen_info.h>) H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 07/33] Use a new CPU feature word to cover all Intel features that are spread around H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 08/33] Define zero-page offset 0x1e4 as a scratch field, and use it H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 09/33] Make definitions for struct e820entry and struct e820map consistent H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 11:48 ` Andi Kleen
2007-07-10 2:51 ` [x86 setup 10/33] Make struct boot_params a real structure, and remove obsolete fields H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 11/33] x86-64: add CONFIG_PHYSICAL_ALIGN for consistency with i386 H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 12/33] x86-64: add symbolic constants for the boot segment selectors H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 13/33] Header file to produce 16-bit code with gcc H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 14:16 ` Segher Boessenkool
2007-07-10 15:21 ` Andi Kleen
2007-07-10 15:48 ` H. Peter Anvin
2007-07-10 15:53 ` H. Peter Anvin
2007-07-10 20:08 ` Segher Boessenkool
2007-07-10 20:43 ` H. Peter Anvin
2007-07-10 21:08 ` Pawel Dziepak
2007-07-10 21:20 ` H. Peter Anvin
2007-07-11 0:26 ` Brian Gerst
2007-07-10 19:57 ` Segher Boessenkool
2007-07-10 20:42 ` H. Peter Anvin
2007-07-10 21:10 ` Segher Boessenkool
2007-07-10 21:40 ` H. Peter Anvin
2007-07-10 22:06 ` Segher Boessenkool
2007-07-10 21:43 ` Adrian Bunk [this message]
2007-07-10 21:46 ` H. Peter Anvin
2007-07-11 0:30 ` Brian Gerst
2007-07-10 2:51 ` [x86 setup 14/33] Top header file for new x86 setup code H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 15/33] Simple bitops for the " H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 16/33] String-handling functions " H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 18:25 ` Jan Engelhardt
2007-07-10 18:35 ` H. Peter Anvin
2007-07-10 20:10 ` Segher Boessenkool
2007-07-10 20:44 ` H. Peter Anvin
2007-07-10 21:14 ` Segher Boessenkool
2007-07-11 12:46 ` Andi Kleen
2007-07-10 2:51 ` [x86 setup 17/33] A20 handling code H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 18:27 ` Jan Engelhardt
2007-07-10 18:33 ` H. Peter Anvin
2007-07-10 18:36 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 18/33] APM probing code H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 19/33] Command-line parsing code for the new x86 setup code H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 2:51 ` [x86 setup 20/33] Console-writing " H. Peter Anvin
2007-07-10 2:51 ` H. Peter Anvin
2007-07-10 18:35 ` Jan Engelhardt
2007-07-10 18:48 ` H. Peter Anvin
2007-07-10 2:52 ` [x86 setup 21/33] Version string " H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 2:52 ` [x86 setup 22/33] CPU features verification " H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 7:37 ` Sébastien Dugué
2007-07-10 7:37 ` Sébastien Dugué
2007-07-10 2:52 ` [x86 setup 23/33] EDD probing code " H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 2:52 ` [x86 setup 24/33] MCA support for " H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 2:52 ` [x86 setup 25/33] Memory probing support for the " H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 2:52 ` [x86 setup 26/33] Voyager " H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 2:52 ` [x86 setup 27/33] Video mode probing " H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 2:52 ` [x86 setup 28/33] Code for actual protected-mode entry H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 2:52 ` [x86 setup 29/33] Assembly header and main routine for new x86 setup code H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 2:52 ` [x86 setup 30/33] Linker script for the " H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 2:52 ` [x86 setup 31/33] Use the new x86 setup code for i386 H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 7:55 ` Tilman Schmidt
2007-07-10 2:52 ` [x86 setup 32/33] Use the new x86 setup code for x86-64; unify with i386 H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 2:52 ` [x86 setup 33/33] Remove old i386 setup code H. Peter Anvin
2007-07-10 2:52 ` H. Peter Anvin
2007-07-10 4:24 ` x86 setup code rewrite in C Yinghai Lu
2007-07-10 4:39 ` H. Peter Anvin
2007-07-10 5:25 ` Jeff Garzik
2007-07-10 16:24 ` Jeremy Fitzhardinge
-- strict thread matches above, loose matches on Subject: below --
2007-07-11 19:18 x86 setup code rewrite in C - revised H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 01/33] x86 setup: MAINTAINERS: formally take responsibility for the i386 boot code H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 02/33] hd.c: remove BIOS/CMOS queries H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 03/33] include/asm-i386/boot.h: This is <asm/boot.h>, not <linux/boot.h> H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 04/33] Unify the CPU features vectors between i386 and x86-64 H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 05/33] Change CONFIG_X86_MINIMUM_CPU_MODEL to CONFIG_X86_MINIMUM_CPU_FAMILY H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 06/33] Clean up struct screen_info (<linux/screen_info.h>) H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 07/33] Use a new CPU feature word to cover all Intel features that are spread around H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 08/33] Define zero-page offset 0x1e4 as a scratch field, and use it H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 09/33] Make definitions for struct e820entry and struct e820map consistent H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 10/33] Make struct boot_params a real structure, and remove obsolete fields H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 11/33] x86-64: add CONFIG_PHYSICAL_ALIGN for consistency with i386 H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 12/33] x86-64: add symbolic constants for the boot segment selectors H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 01/33] x86 setup: MAINTAINERS: formally take responsibility for the i386 boot code H. Peter Anvin
2007-07-11 19:18 ` [x86 setup 13/33] Header file to produce 16-bit code with gcc H. Peter Anvin
2007-07-11 19:18 ` 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=20070710214315.GD3492@stusta.de \
--to=bunk@stusta.de \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=hpa@zytor.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=segher@kernel.crashing.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.