grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] split realmode and loader routines out of startup.S


From: Marco Gerards
Subject: Re: [PATCH] split realmode and loader routines out of startup.S
Date: Wed, 17 Oct 2007 12:04:14 +0200
User-agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux)

Robert Millan <address@hidden> writes:

> On Wed, Oct 17, 2007 at 10:32:28AM +0200, Marco Gerards wrote:
>> >    * kern/i386/pc/startup.S (grub_linux_prot_size): Moved to ...
>> >    * kern/i386/loader.S (grub_linux_prot_size): ... here.
>> 
>> I would say:
>> 
>> (...): Moved from here...
>> (...): ... to here.
>> 
>> Can you change that?
>
> Ok (ACKed also for the next patch I already sent).

Great!

>> >    * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved to ...
>> >    * kern/i386/loader.S (grub_linux_tmp_addr): ... here.
>> >    * kern/i386/pc/startup.S (grub_linux_real_addr): Moved to ...
>> >    * kern/i386/loader.S (grub_linux_real_addr): ... here.
>> >    * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved to ...
>> >    * kern/i386/loader.S (grub_linux_boot_zimage): ... here.
>> >    * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved to ...
>> >    * kern/i386/loader.S (grub_linux_boot_bzimage): ... here.
>> >    * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved to ...
>> >    * kern/i386/loader.S (grub_multiboot_real_boot): ... here.
>> >    * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved to ...
>> >    * kern/i386/loader.S (grub_multiboot2_real_boot): ... here.
>> >
>> >    * kern/i386/realmode.S: New file.
>> >
>> >    * kern/i386/pc/startup.S (protstack): Moved to ...
>> >    * kern/i386/realmode.S (protstack): ... here.
>> >    * kern/i386/pc/startup.S (gdt): Moved to ...
>> >    * kern/i386/realmode.S (gdt): ... here.
>> >    * kern/i386/pc/startup.S (prot_to_real): Moved to ...
>> >    * kern/i386/realmode.S (prot_to_real): ... here.
>> >
>> >    * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
>> >    `kern/i386/realmode.S'.
>> 
>> Why include?  Can't it be linked?  That's what a linker is for :-)
>
> Linking required wrapping a lot of references with EXT_C() macro, so I opted
> for #include (note this is done for lzo1x.S already).

Is using EXT_C a problem?  I don't know this code too well,
unfortunately :(

> Also, #including stuff from the wrong [1] place caused cpu faults in my tests.
> With my current patch, code doesn't change much its location (real mode stuff
> at the beginning, loader stuff at the end).

:-/

> [1] Sorry, I'm not sure what wrong means here.  Maybe it has to do with GAS
>     syntax magic affecting cross-include borders or with a weird hardcoded
>     reference to a specific memory layout.

I can't help you there.

--
Marco





reply via email to

[Prev in Thread] Current Thread [Next in Thread]