qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Andreas Färber" <afaerber@suse.de>
To: Alexander Graf <agraf@suse.de>
Cc: Peter Maydell <peter.maydell@linaro.org>,
	Mark Langsdorf <mark.langsdorf@calxeda.com>,
	"qemu-devel@nongnu.org" <qemu-devel@nongnu.org>,
	"armbru@redhat.com" <armbru@redhat.com>,
	"eblake@redhat.com" <eblake@redhat.com>,
	"david@gibson.dropbear.id.au" <david@gibson.dropbear.id.au>
Subject: Re: [Qemu-devel] [PATCH] arm highbank: force ramsize to INT_MAX when loading
Date: Fri, 09 Mar 2012 20:03:54 +0100	[thread overview]
Message-ID: <4F5A541A.8040203@suse.de> (raw)
In-Reply-To: <A983BA89-8D3A-4500-AF9C-19C5C59B5127@suse.de>

Am 09.03.2012 19:22, schrieb Alexander Graf:
> 
> On 09.03.2012, at 17:40, Mark Langsdorf wrote:
> 
>> On 03/09/2012 10:13 AM, Peter Maydell wrote:
>>> On 9 March 2012 15:57, Mark Langsdorf <mark.langsdorf@calxeda.com> wrote:
>>>> Since the ram_size field of arm_boot_info is only an int, don't set
>>>> that field to more than INT_MAX. Signed vs unsigned comparison
>>>> overruns are possible otherwise.
>>>
>>> Can't we just make arm_boot_info.ram_size a uint32_t (propagating through
>>> signedness fixes as required) ?
>>>
>>> Actually it should probably be a target_phys_addr_t, thinking ahead
>>> to adding LPAE support.
>>
>> It really should be a size_t, per the upthread discussion with Andreas
>> Faerber.
> 
> No, Andreas is wrong. Host data types have nothing to do in target ram fiddling code. The type you're searching for is "the size of physical address space the guest can handle" and that's target_phys_addr_t. Period.

That is exactly where we disagree: It's not "target ram fiddling code".

It's the host loading binaries from disk to host RAM.

The Memory API constructs for wiring it up in guest RAM are outside the
scope of this discussion.

If we can't load a 4 GB file into our host RAM, there's no point
bloating our APIs with unreadable types as arguments such as
"target_phys_addr_t max_size" just because a 64-bit guest on a 32-bit
host has a larger virtual address space.

It's not an address, so if we end up needing a special type it should
certainly not be any ...addr_t type. Typedef target_phys_size_t if you
see a need but keep our APIs clean please. Alex, you say you don't care
about infrastructure, well this IS infrastructure and I care about its
API and usability. :)

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

  reply	other threads:[~2012-03-09 19:04 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-03-08 16:59 [Qemu-devel] [PATCH] use an unsigned long for the max_sz parameter in load_image_targphys Mark Langsdorf
2012-03-08 17:56 ` Eric Blake
2012-03-08 18:13   ` Mark Langsdorf
2012-03-09  9:25 ` Markus Armbruster
2012-03-09 13:15   ` Mark Langsdorf
2012-03-09 13:21     ` Alexander Graf
2012-03-09 13:34       ` Mark Langsdorf
2012-03-09 13:50         ` Alexander Graf
2012-03-09 13:58           ` Peter Maydell
2012-03-09 14:28           ` Andreas Färber
2012-03-09 17:11             ` Peter Maydell
2012-03-09 18:47               ` Andreas Färber
2012-03-09 19:04                 ` Alexander Graf
2012-03-10  6:24                   ` Markus Armbruster
2012-03-10 14:22                   ` Andreas Färber
2012-03-10 13:51                 ` Peter Maydell
2012-03-10 14:08                   ` Andreas Färber
2012-03-10 15:27                     ` Peter Maydell
2012-03-12 15:28                       ` Mark Langsdorf
2012-03-12 15:53                       ` Markus Armbruster
2012-03-12 16:04                         ` Alexander Graf
2012-03-12 16:09                           ` Peter Maydell
2012-03-12 16:14                           ` Andreas Färber
2012-03-12 16:12                       ` Andreas Färber
2012-03-09 14:17     ` Markus Armbruster
2012-03-09 14:52       ` Mark Langsdorf
2012-03-09 15:12         ` Markus Armbruster
2012-03-09 14:01 ` [Qemu-devel] [PATCH v2] " Mark Langsdorf
2012-03-09 14:31   ` Markus Armbruster
2012-03-09 15:57 ` [Qemu-devel] [PATCH] arm highbank: force ramsize to INT_MAX when loading Mark Langsdorf
2012-03-09 16:13   ` Peter Maydell
2012-03-09 16:40     ` Mark Langsdorf
2012-03-09 18:22       ` Alexander Graf
2012-03-09 19:03         ` Andreas Färber [this message]
2012-03-09 19:21           ` Alexander Graf
2012-03-12 16:33 ` [Qemu-devel] [PATCH v3] use an uint64_t for the max_sz parameter in load_image_targphys Mark Langsdorf
2012-03-12 16:47   ` Andreas Färber
2012-03-12 17:13     ` Peter Maydell
2012-03-12 17:23       ` Mark Langsdorf
2012-03-12 16:58   ` Alexander Graf

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=4F5A541A.8040203@suse.de \
    --to=afaerber@suse.de \
    --cc=agraf@suse.de \
    --cc=armbru@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=eblake@redhat.com \
    --cc=mark.langsdorf@calxeda.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-devel@nongnu.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).