From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:44375) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SeRpN-00078Q-Kg for qemu-devel@nongnu.org; Tue, 12 Jun 2012 10:12:19 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SeRpI-0004Hh-OW for qemu-devel@nongnu.org; Tue, 12 Jun 2012 10:12:13 -0400 Received: from cantor2.suse.de ([195.135.220.15]:56498 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SeRpI-0004FW-FH for qemu-devel@nongnu.org; Tue, 12 Jun 2012 10:12:08 -0400 Message-ID: <4FD74E32.7000705@suse.de> Date: Tue, 12 Jun 2012 16:12:02 +0200 From: =?ISO-8859-15?Q?Andreas_F=E4rber?= MIME-Version: 1.0 References: <1339107871-4487-1-git-send-email-rth@twiddle.net> <1339107871-4487-3-git-send-email-rth@twiddle.net> In-Reply-To: <1339107871-4487-3-git-send-email-rth@twiddle.net> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 2/9] alpha-linux-user: Work around hosted mmap allocation problems List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Richard Henderson Cc: Peter Maydell , Paul Brook , Riku Voipio , qemu-devel@nongnu.org, Alexander Graf Am 08.06.2012 00:24, schrieb Richard Henderson: > Signed-off-by: Richard Henderson > --- > target-alpha/cpu.h | 11 +++++++++++ > 1 files changed, 11 insertions(+), 0 deletions(-) >=20 > diff --git a/target-alpha/cpu.h b/target-alpha/cpu.h > index 99f9ee1..0d87fa7 100644 > --- a/target-alpha/cpu.h > +++ b/target-alpha/cpu.h > @@ -40,9 +40,20 @@ > =20 > #define TARGET_PAGE_BITS 13 > =20 > +#ifdef CONFIG_USER_ONLY > +/* ??? The kernel likes to give addresses in high memory. If the host= has > + more virtual address space than the guest, this can lead to impossi= ble > + allocations. Honor the long-standing assumption that only kernel a= ddrs > + are negative, but otherwise allow allocations anywhere. This could= lead > + to tricky emulation problems for programs doing tagged addressing, = but > + that's far fewer than encounter the impossible allocation problem. = */ > +#define TARGET_PHYS_ADDR_SPACE_BITS 63 > +#define TARGET_VIRT_ADDR_SPACE_BITS 63 > +#else > /* ??? EV4 has 34 phys addr bits, EV5 has 40, EV6 has 44. */ > #define TARGET_PHYS_ADDR_SPACE_BITS 44 > #define TARGET_VIRT_ADDR_SPACE_BITS (30 + TARGET_PAGE_BITS) > +#endif > =20 > /* Alpha major type */ > enum { This looks fishy to me... why should the kernel use a bigger address space than hardware? For arm on x86_64 such a workaround was not necessary iirc. Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=FCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=F6rffer; HRB 16746 AG N=FCrnbe= rg