Re: What are .s files in arch/i386/boot

Jos Hulzink
2003-06-08T19:50:41Z

On Saturday 07 Jun 2003 23:27, H. Peter Anvin wrote:
> Followup to: <6un0gty981.fsf@zork.zork.net>
> By author: Sean Neakums <sneakums@zork.net>
> In newsgroup: linux.dev.kernel
>
> > James Stevenson <james@stev.org> writes:
> > >> > > What are .s files in arch/i386/boot, are they c sources of some
> > >> > > sort? Where can I find the specifications documents they were made
> > >> > > from?
> > >> >
> > >> > There are not c files.
> > >> > They are assembler files
> > >> >
> > >> Where can I find the .c files they were made from,
> > >> and the spec sheets the .c files were made from?
> > >
> > > You would have to find the original author of the person
> > > who tweaks the assembler in the .s file chances are the .c
> > > file is long gone though.
> >
> > If there were ever C files to begin with. It's not unheard-of for
> > people to write assembler code from scratch.
>
> The ones in the Linux kernel were all written from scratch.

And for a very good reason. A few things really need asm, for example getting
a CPU in protected mode, setting up the MMU and stuff. Once they are set up,
you can use C, though sometimes you must be really sure what your compiler
will make from the C.

So, why assembly ? Cause it is needed. Why in arch/i386/boot ? for if it is
well done there, it isn't needed at many other locations. A few things will
still require asm though, therefore you'll find more .s files in arch/i386.

Jos