[lkml]   [1999]   [Mar]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Subject[RFC] arch/i386/boot: as86->gas, for 2.3.x

    i386 kernel, boot assembly code rewrite
    - -- --- -- ----- - --- -- --- ----- --
    last updated [Thu Mar 25 14:11:33 1999]

    I was pretty bored one lonely day, and decided to brush up on my assembly
    knowledge by taking all of the Intel syntax i386 assembly, and rewriting
    it in AT&T (gas friendly) syntax.

    Pointless? Naw! Here are a few good things that came out of it:

    o The kernel is no longer dependent on as86/ld86. Wonderful!

    o Personally, I find AT&T style much more readable, not to
    mention that this is the *only* part of the kernel still using

    o build.c is a bit smaller since it doesn't have to mess
    with minix style (aka ld86) output.

    o It's a patch that removes/tidies up code!
    Everybody loves those.

    Files touched:
    (up to date as of kernel v2.2.4)

    1) Ask maintainers if it was alright for me to slash through their
    code like this. :)

    2) There are still few minor bugs in gas' 16-bit code, so I had to
    hard-code one troublesome instruction. (Clearly marked in video.S)
    (maybe fixed in latest binutils? Haven't tested yet, will do ASAP)

    3) I have no idea how to properly tell the linker where to find
    bootsect_kludge (in setup.S) from bootsect.S (line 245), so I just
    hacked the makefile to do "--defsym bootsect_kludge=0x220" since the
    offset into setup where bootsect_kludge should hide is always going to
    be 0x20. There's got to be a cleaner way, right? Somebody tell me how.

    4) Fix wrapped comments.

    I had basically finished this last summer, but didn't want to even try and
    squeeze it into those last few 2.1's. Even if it wasn't the 'right' thing
    to do, I learned a bunch from it.. so don't be afraid to shoot me down (or
    talk me up, whichever the case may be). :)

    And of course this is planned for 2.3, I'm just looking for feedback

    Comments please!
    (Martin, Linus, cc'ed because you appear to be the current maintainers)

    Chris Noe

    #!/bin/perl -sp0777i<X+d*lMLa^*lN%0]dsXx++lMlN/dsM0<j]dsj
    $/=unpack('H*',$_);$_=`echo 16dio\U$k"SK$/SM$n\EsN0p[lN*1
    ---- -----

    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 13:51    [W:0.022 / U:6.972 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site