qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5 4/4] i386: allow to load initrd below 4G for


From: Michael S. Tsirkin
Subject: Re: [Qemu-devel] [PATCH v5 4/4] i386: allow to load initrd below 4G for recent linux
Date: Mon, 14 Jan 2019 20:46:34 -0500

On Tue, Jan 15, 2019 at 09:35:09AM +0800, Li Zhijian wrote:
> Hi Eduardo
> 
> 
> On 1/15/19 01:53, Eduardo Habkost wrote:
> 
>         +    if (protocol >= 0x20c &&
>         +        lduw_p(header+0x236) & XLF_CAN_BE_LOADED_ABOVE_4G) {
>         +        /*
>         +         * Linux has supported initrd up to 4 GB for a very long 
> time (2007,
>         +         * long before XLF_CAN_BE_LOADED_ABOVE_4G which was added in 
> 2013),
>         +         * though it only sets initrd_max to 2 GB to "work around 
> bootloader
>         +         * bugs". Luckily, QEMU firmware(which does something like 
> bootloader)
>         +         * has supported this.
>         +         *
>         +         * It's believed that if XLF_CAN_BE_LOADED_ABOVE_4G is set, 
> initrd can
>         +         * be loaded into any address.
>         +         *
>         +         * In addition, initrd_max is uint32_t simply because QEMU 
> doesn't
>         +         * support the 64-bit boot protocol (specifically the 
> ext_ramdisk_image
>         +         * field).
>         +         *
>         +         * Therefore here just limit initrd_max to UINT32_MAX simply 
> as well.
>         +         *
>         +         * FIXME: it's possible that linux protocol within [0x208, 
> 0x20c]
>         +         * supports up to 4G initrd as well.
> 
>     I don't understand what exactly this FIXME comment is
>     documenting.  What exactly needs to be fixed?
> 
> 
> XLF_CAN_BE_LOADED_ABOVE_4G is one of the indicators, actually as comments 
> said,
> linux has supported up to 4 GB initrd since linux-2.26(protocol version 
> 0x208).
> 
> 
> I just want to comment that linux with protocol within [0x208, 0x20c] 
> supports up to 4 GB initrd as well.
> 
> Is documenting with FIXME appropriate?
> 
> 
> Thanks
> 
> 


Fixme should say what is missing in the qemu implementation.
E.g.

/*
 * Bar 2010 and up can actually be supported using foo.
 * FIXME: make use of foo to support bar.
 */


-- 
MST



reply via email to

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