From: "H. Peter Anvin" <hpa@zytor.com>
To: Andrea Mazzoleni <amadvance@users.sourceforge.net>
Cc: linux-kernel <linux-kernel@vger.kernel.org>
Subject: Re: [syslinux] SYSLINUX 2.09-pre11
Date: Sun, 08 Feb 2004 10:58:40 -0800 [thread overview]
Message-ID: <402686E0.3040806@zytor.com> (raw)
In-Reply-To: <20040208142021.GA494@elitel.biz>
Andrea Mazzoleni wrote:
> On 02/05, H. Peter Anvin wrote:
>
>>Please test it out. Some time over the weekend I'm going to do a sweep
>>for bug fixes I've forgotten and otherwise I'd like to release 2.09 next
>>week.
>
> Please consider to compare the behaviour of the SYSLINUX mem= option with
> the Linux kernel behaviour. I've rechecked it a lot of time, and I'm sure that
> there is a difference.
>
> In the kernel function parse_cmdline_early() in the file arch/i386/kernel/setup.c
> the "mem=" option is used to only reducing (and never expanding) the memory map
> calling the limit_regions() function. This happen also if E820 is not available.
>
> Instead, SYSLINUX uses the "mem=" option also for expanding the memory map
> over the value read from the BIOS.
>
> Please note that this is only true for the simplest format of the "mem=" option
> like "mem=512M". Other formats like "mem=512M@512M" have different behaviours
> because add_memory_region() is called instead of limit_regions().
>
> Also note that if E820 is not present, a fake E820 memory map is created
> in the setup_memory_regions() kernel function in arch/i386/kernel/setup.c.
> This is the fake memory map on which the limit_regions() function operates.
> That exactly happen is that copy_e820_map() returns -1 because "nr_map" is
> set to 0 in the arch/i386/boot/setup.S file if E820 is not present.
>
This is unfixable, because someone fucked up and re-used a
well-established protocol-defined option for another purpose. E.g.
"mem=512M" has meant exactly that (and was/is widely used to specify
that memory should be added up to 512M).
Since the behaviour you describe is kernel-version-dependent, IT CANNOT
BE FIXED IN THE BOOTLOADER, and whomever thought it was a good idea to
mess with mem= should be taken out and shot.
-hpa
parent reply other threads:[~2004-02-08 18:58 UTC|newest]
Thread overview: expand[flat|nested] mbox.gz Atom feed
[parent not found: <20040208142021.GA494@elitel.biz>]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=402686E0.3040806@zytor.com \
--to=hpa@zytor.com \
--cc=amadvance@users.sourceforge.net \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.