From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51625) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTF1N-0001aG-Rv for qemu-devel@nongnu.org; Thu, 27 Mar 2014 14:27:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1WTF1J-0001S1-CZ for qemu-devel@nongnu.org; Thu, 27 Mar 2014 14:27:21 -0400 Received: from mx1.redhat.com ([209.132.183.28]:40441) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WTF1J-0001Rx-3D for qemu-devel@nongnu.org; Thu, 27 Mar 2014 14:27:17 -0400 Date: Thu, 27 Mar 2014 14:27:13 -0400 From: Luiz Capitulino Message-ID: <20140327142713.5701c8ab@redhat.com> In-Reply-To: <53346D1B.4030509@suse.de> References: <20140319170353.4428b501@redhat.com> <532A12F3.5000708@suse.de> <20140320085612.657b7001@redhat.com> <53346D1B.4030509@suse.de> Mime-Version: 1.0 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: Andreas =?UTF-8?B?RsOkcmJlcg==?= Cc: peter.maydell@linaro.org, jan.kiszka@siemens.com, qemu-devel , pbonzini@redhat.com On Thu, 27 Mar 2014 19:25:31 +0100 Andreas F=C3=A4rber wrote: > 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? >=20 > Done. >=20 > >>> --- > >>> > >>> - 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. >=20 > Thanks to them. I did need the followup build fix though: Thanks a lot. >=20 > 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; > } >=20 > +#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; >=20 > Thanks, applied to qom-cpu: > https://github.com/afaerber/qemu-cpu/commits/qom-cpu >=20 > Andreas >=20