From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51330) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTEzi-0008BC-QU for qemu-devel@nongnu.org; Thu, 27 Mar 2014 14:25:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WTEzd-00016x-GN for qemu-devel@nongnu.org; Thu, 27 Mar 2014 14:25:38 -0400 Received: from cantor2.suse.de ([195.135.220.15]:35890 helo=mx2.suse.de) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTEzd-00016l-7e for qemu-devel@nongnu.org; Thu, 27 Mar 2014 14:25:33 -0400 Message-ID: <53346D1B.4030509@suse.de> Date: Thu, 27 Mar 2014 19:25:31 +0100 From: =?UTF-8?B?QW5kcmVhcyBGw6RyYmVy?= MIME-Version: 1.0 References: <20140319170353.4428b501@redhat.com> <532A12F3.5000708@suse.de> <20140320085612.657b7001@redhat.com> In-Reply-To: <20140320085612.657b7001@redhat.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v2 for-2.0] target-i386: x86_cpu_get_phys_page_debug(): support 1GB page translation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Luiz Capitulino Cc: peter.maydell@linaro.org, jan.kiszka@siemens.com, qemu-devel , pbonzini@redhat.com Am 20.03.2014 13:56, schrieb Luiz Capitulino: > On Wed, 19 Mar 2014 22:58:11 +0100 > Andreas F=C3=A4rber wrote: >=20 >> Am 19.03.2014 22:03, schrieb Luiz Capitulino: >>> Linux guests, when using more than 4GB of RAM, may end up using 1GB p= ages >>> to store (kernel) data. When this happens, we're unable to debug a ru= nning >>> Linux kernel with GDB: >>> >>> (gdb) p node_data[0]->node_id >>> Cannot access memory at address 0xffff88013fffd3a0 >>> (gdb) >>> >>> GDB returns this error because x86_cpu_get_phys_page_debug() doesn't = support >>> translating 1GB pages in IA-32e paging mode and returns an error to G= DB. >>> >>> This commit adds support for 1GB page translation for IA32e paging. >>> >>> Signed-off-by: Luiz capitulino >> >> Capitulino? :) >=20 > Can you or Peter fix it when merging? Done. >>> --- >>> >>> - I'm proposing this patch for 2.0 because GDB debugging of large Lin= ux >>> guests is kind of broken >> >> Agree that it would be nice to fix, but having mainly touched the >> function interface, I am dependent on reviewers here. =3D> rc2 or .1 >=20 > I think Paolo and/or Jan will review it. Thanks to them. I did need the followup build fix though: diff --git a/target-i386/helper.c b/target-i386/helper.c index 7cee501..372f0e3 100644 --- a/target-i386/helper.c +++ b/target-i386/helper.c @@ -1001,7 +1001,9 @@ hwaddr x86_cpu_get_phys_page_debug(CPUState *cs, vaddr addr) pte =3D pte & env->a20_mask; } +#ifdef TARGET_X86_64 out: +#endif page_offset =3D (addr & TARGET_PAGE_MASK) & (page_size - 1); paddr =3D (pte & TARGET_PAGE_MASK) + page_offset; return paddr; Thanks, applied to qom-cpu: https://github.com/afaerber/qemu-cpu/commits/qom-cpu Andreas --=20 SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 N=C3=BCrnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imend=C3=B6rffer; HRB 16746 AG N=C3=BC= rnberg