* Issues with Linux loading code
@ 2011-06-16 21:04 Matthew Garrett
2011-06-16 23:29 ` Vladimir 'φ-coder/phcoder' Serbinenko
0 siblings, 1 reply; 2+ messages in thread
From: Matthew Garrett @ 2011-06-16 21:04 UTC (permalink / raw)
To: grub-devel
I'm currently handling some issues related to the kernel ending up on
top of used EFI regions on some machines. These seem to be exacerbated
by some of grub's behaviour. It seems that the kernel will always be
loaded at GRUB_LINUX_BZIMAGE_ADDR, which is problematic in two cases -
one being that the kernel can be configured with a different start
address, and also that the firmware may have put code there that we wish
to preserve.
At present it doesn't seem possible to indicate to the relocator that if
there isn't enough space for the decompressed kernel (ie, the init_size
parameter from the header) at the desired address, it should put the
kernel somewhere else making sure to adhere to the alignment constraints
the kernel provides. The load address and the alignment then need to be
written back into the kernel header.
Or am I misinterpreting the behaviour of the relocation code?
--
Matthew Garrett | mjg59@srcf.ucam.org
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: Issues with Linux loading code
2011-06-16 21:04 Issues with Linux loading code Matthew Garrett
@ 2011-06-16 23:29 ` Vladimir 'φ-coder/phcoder' Serbinenko
0 siblings, 0 replies; 2+ messages in thread
From: Vladimir 'φ-coder/phcoder' Serbinenko @ 2011-06-16 23:29 UTC (permalink / raw)
To: grub-devel
[-- Attachment #1: Type: text/plain, Size: 1284 bytes --]
On 16.06.2011 17:04, Matthew Garrett wrote:
> I'm currently handling some issues related to the kernel ending up on
> top of used EFI regions on some machines. These seem to be exacerbated
> by some of grub's behaviour. It seems that the kernel will always be
> loaded at GRUB_LINUX_BZIMAGE_ADDR, which is problematic in two cases -
> one being that the kernel can be configured with a different start
> address, and also that the firmware may have put code there that we wish
> to preserve.
>
> At present it doesn't seem possible to indicate to the relocator that if
> there isn't enough space for the decompressed kernel (ie, the init_size
> parameter from the header) at the desired address, it should put the
> kernel somewhere else making sure to adhere to the alignment constraints
> the kernel provides. The load address and the alignment then need to be
> written back into the kernel header.
You would need to add a new argument dont_kill_useless_firmware,
propagate it to EFI and IEEE1275-specific functions and make relocator
ignore the runtime regions if this argument is set. Then if *_addr fails
use *_align.
> Or am I misinterpreting the behaviour of the relocation code?
>
--
Regards
Vladimir 'φ-coder/phcoder' Serbinenko
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 294 bytes --]
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2011-06-16 23:29 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-16 21:04 Issues with Linux loading code Matthew Garrett
2011-06-16 23:29 ` Vladimir 'φ-coder/phcoder' Serbinenko
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.