All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: Laurent Vivier <laurent@vivier.eu>
Cc: Luke Shumaker <lukeshu@lukeshu.com>,
	Luke Shumaker <lukeshu@parabola.nu>,
	Riku Voipio <riku.voipio@iki.fi>,
	QEMU Developers <qemu-devel@nongnu.org>,
	Paul Brook <paul@codesourcery.com>
Subject: Re: [Qemu-devel] [PATCH 10/10] linux-user: init_guest_space: Try to make ARM space+commpage continuous
Date: Tue, 20 Mar 2018 15:53:34 +0000	[thread overview]
Message-ID: <CAFEAcA-xE2qeTiJ4LFFF_gQgTrk=hcYydhe3YvuVM7=hEvighQ@mail.gmail.com> (raw)
In-Reply-To: <d0d29c49-f45d-3bdd-ca40-f87a0d3ecd36@vivier.eu>

On 20 March 2018 at 15:23, Laurent Vivier <laurent@vivier.eu> wrote:
> Le 02/03/2018 à 15:13, Peter Maydell a écrit :
>> On 28 December 2017 at 18:08, Luke Shumaker <lukeshu@lukeshu.com> wrote:
>>> +#if defined(TARGET_ARM) && !defined(TARGET_AARCH64)
>>> +    /* On 32-bit ARM, we need to map not just the usable memory, but
>>> +     * also the commpage.  Try to find a suitable place by allocating
>>> +     * a big chunk for all of it.  If host_start, then the naive
>>> +     * strategy probably does good enough.
>>> +     */
>>> +    if (!host_start) {
>>> +        unsigned long guest_full_size, host_full_size, real_start;
>>> +
>>> +        guest_full_size =
>>> +            (0xffff0f00 & qemu_host_page_mask) + qemu_host_page_size;
>>
>> I think this is probably more clearly written as 0x100000000ULL,
>> since rounding down to the host-page-size then adding the host-page-size
>> gets us the full 32-bit size of the guest address space.
>
> Perhaps, I've missed something, but it seems not true.
>
> On x86_64, we have:
>
> qemu_host_page_mask = 0xfffffffffffff000
> qemu_host_page_size = 0x0000000000001000
>
> but
>
> 0xffff0f00 & 0xfffffffffffff000 = 0xffff0000
> then
> 0xffff0000 + 0x0000000000001000 = 0xffff1000

Yes, you're right -- I'd thought that the kernel commpage was
right at the top of memory, but it isn't.

thanks
-- PMM

  reply	other threads:[~2018-03-20 15:53 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-28 18:08 [Qemu-devel] [PATCH 00/10] linux-user: Speed up guest space initialization on 32-bit ARM target Luke Shumaker
2017-12-28 18:08 ` [Qemu-devel] [PATCH 01/10] linux-user: Use #if to only call validate_guest_space for " Luke Shumaker
2018-02-23 18:35   ` Peter Maydell
2018-02-23 18:48     ` Peter Maydell
2018-03-02 13:18   ` Peter Maydell
2018-03-09 20:20   ` Laurent Vivier
2017-12-28 18:08 ` [Qemu-devel] [PATCH 02/10] linux-user: Rename validate_guest_space => init_guest_commpage Luke Shumaker
2018-03-02 13:18   ` Peter Maydell
2018-03-09 20:24   ` Laurent Vivier
2017-12-28 18:08 ` [Qemu-devel] [PATCH 03/10] linux-user: init_guest_space: Clean up if we can't initialize the commpage Luke Shumaker
2018-02-23 18:38   ` Peter Maydell
2018-03-09 20:25   ` Laurent Vivier
2017-12-28 18:08 ` [Qemu-devel] [PATCH 04/10] linux-user: init_guest_space: Correctly handle guest_start in commpage initialization Luke Shumaker
2018-03-02 13:19   ` Peter Maydell
2018-03-09 20:26   ` Laurent Vivier
2017-12-28 18:08 ` [Qemu-devel] [PATCH 05/10] linux-user: init_guest_space: Clarify page alignment logic Luke Shumaker
2018-03-02 13:19   ` Peter Maydell
2018-03-09 20:28   ` Laurent Vivier
2017-12-28 18:08 ` [Qemu-devel] [PATCH 06/10] linux-user: init_guest_commpage: Add a comment about size check Luke Shumaker
2018-03-02 13:20   ` Peter Maydell
2018-03-09 20:30   ` Laurent Vivier
2017-12-28 18:08 ` [Qemu-devel] [PATCH 07/10] linux-user: init_guest_space: Clean up control flow a bit Luke Shumaker
2018-03-02 13:20   ` Peter Maydell
2018-03-09 20:37   ` Laurent Vivier
2018-03-13 13:30     ` Laurent Vivier
2018-03-13 13:54       ` Peter Maydell
2018-03-13 14:00         ` Laurent Vivier
2017-12-28 18:08 ` [Qemu-devel] [PATCH 08/10] linux-user: init_guest_space: Don't try to align if we'll reject it Luke Shumaker
2018-03-02 13:20   ` Peter Maydell
2018-03-13 14:02   ` Laurent Vivier
2017-12-28 18:08 ` [Qemu-devel] [PATCH 09/10] linux-user: init_guest_space: Add a comment about search strategy Luke Shumaker
2018-03-02 13:20   ` Peter Maydell
2018-03-13 14:04   ` Laurent Vivier
2017-12-28 18:08 ` [Qemu-devel] [PATCH 10/10] linux-user: init_guest_space: Try to make ARM space+commpage continuous Luke Shumaker
2018-03-02 14:13   ` Peter Maydell
2018-03-03 14:09     ` Richard Henderson
2018-03-20 15:23     ` Laurent Vivier
2018-03-20 15:53       ` Peter Maydell [this message]
2018-03-20 18:49     ` Luke Shumaker
2018-03-20 18:50       ` Laurent Vivier
2018-03-20 18:57       ` Peter Maydell
2018-01-15 17:33 ` [Qemu-devel] [PATCH 00/10] linux-user: Speed up guest space initialization on 32-bit ARM target Luke Shumaker
2018-02-09  2:29 ` Luke Shumaker

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='CAFEAcA-xE2qeTiJ4LFFF_gQgTrk=hcYydhe3YvuVM7=hEvighQ@mail.gmail.com' \
    --to=peter.maydell@linaro.org \
    --cc=laurent@vivier.eu \
    --cc=lukeshu@lukeshu.com \
    --cc=lukeshu@parabola.nu \
    --cc=paul@codesourcery.com \
    --cc=qemu-devel@nongnu.org \
    --cc=riku.voipio@iki.fi \
    /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.