All of lore.kernel.org
 help / color / mirror / Atom feed
* Can't set break points with Linux guest in PAE mode
@ 2006-10-04 23:54 Randy Thelen
  2006-10-05  0:53 ` Daniel P. Berrange
  2006-10-05  7:43 ` Keir Fraser
  0 siblings, 2 replies; 5+ messages in thread
From: Randy Thelen @ 2006-10-04 23:54 UTC (permalink / raw)
  To: xen-devel

Folks --

One more time with the PAE request, this time I've brought up the  
Linux kernel w/ a very recent version of Xen.  (Just yesterday I  
pulled and updated my hg tree.)  I still can't set breakpoints within  
the guest domain:

# gdb vmlinux
GNU gdb 6.4-debian
<...>
(gdb) target remote roti.lab.netapp.com:9999
Remote debugging using roti.lab.netapp.com:9999
[New thread 0]
[Switching to thread 0]
0xc0100000 in startup_32 ()
(gdb) b *0xc0100000
Breakpoint 1 at 0xc0100000
(gdb) s
Single stepping until exit from function startup_32,
which has no line number information.
Warning:
Cannot insert breakpoint 1.
Error accessing memory address 0xc0100000: Input/output error.

(gdb)


My RS232 Xen console looks like:

xenbr0: port 3(vif7.0) entering learning state
xenbr0: topology change detected, propagating
xenbr0: port 3(vif7.0) entering forwarding state
xenbr0: port 3(vif7.0) entering disabled state
device vif7.0 left promiscuous mode
xenbr0: port 3(vif7.0) entering disabled state
device vif8.0 entered promiscuous mode
(XEN) DOM0: (file=mm.c, line=1688) Bad type (saw 28000001 != exp  
e0000000) for mfn 96efe (pfn 573)
(XEN) DOM0: (file=mm.c, line=606) Error getting mfn 96efe (pfn 573)  
from L1 entry 0000000096efe027 for dom8
(XEN) DOM0: (file=mm.c, line=1266) Bad get_page_from_l1e(): pl1e =  
fefa6a30, nl1e = 96efe027, ol1e = 0, gl1mfn = d8538
(XEN) DOM0: (file=mm.c, line=2283) Could not modify L1 entry: va ==  
fefa6a30, l1e == 96efe027, mfn == d8538

(I've added the two MEM_LOG() calls at line 1266 and 2283.)

Any ideas where I should begin looking?  Or is PAE support languishing?

-- Randy

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Can't set break points with Linux guest in PAE mode
  2006-10-04 23:54 Can't set break points with Linux guest in PAE mode Randy Thelen
@ 2006-10-05  0:53 ` Daniel P. Berrange
  2006-10-05  7:43 ` Keir Fraser
  1 sibling, 0 replies; 5+ messages in thread
From: Daniel P. Berrange @ 2006-10-05  0:53 UTC (permalink / raw)
  To: Randy Thelen; +Cc: xen-devel

On Wed, Oct 04, 2006 at 04:54:18PM -0700, Randy Thelen wrote:
> Folks --
> 
> One more time with the PAE request, this time I've brought up the  
> Linux kernel w/ a very recent version of Xen.  (Just yesterday I  
> pulled and updated my hg tree.)  I still can't set breakpoints within  
> the guest domain:
> 
> # gdb vmlinux
> GNU gdb 6.4-debian
> <...>
> (gdb) target remote roti.lab.netapp.com:9999
> Remote debugging using roti.lab.netapp.com:9999
> [New thread 0]
> [Switching to thread 0]
> 0xc0100000 in startup_32 ()
> (gdb) b *0xc0100000
> Breakpoint 1 at 0xc0100000
> (gdb) s
> Single stepping until exit from function startup_32,
> which has no line number information.
> Warning:
> Cannot insert breakpoint 1.
> Error accessing memory address 0xc0100000: Input/output error.
> 
> (gdb)
> 
> 
> My RS232 Xen console looks like:
> 
> xenbr0: port 3(vif7.0) entering learning state
> xenbr0: topology change detected, propagating
> xenbr0: port 3(vif7.0) entering forwarding state
> xenbr0: port 3(vif7.0) entering disabled state
> device vif7.0 left promiscuous mode
> xenbr0: port 3(vif7.0) entering disabled state
> device vif8.0 entered promiscuous mode
> (XEN) DOM0: (file=mm.c, line=1688) Bad type (saw 28000001 != exp  
> e0000000) for mfn 96efe (pfn 573)
> (XEN) DOM0: (file=mm.c, line=606) Error getting mfn 96efe (pfn 573)  
> from L1 entry 0000000096efe027 for dom8
> (XEN) DOM0: (file=mm.c, line=1266) Bad get_page_from_l1e(): pl1e =  
> fefa6a30, nl1e = 96efe027, ol1e = 0, gl1mfn = d8538
> (XEN) DOM0: (file=mm.c, line=2283) Could not modify L1 entry: va ==  
> fefa6a30, l1e == 96efe027, mfn == d8538
> 
> (I've added the two MEM_LOG() calls at line 1266 and 2283.)
> 
> Any ideas where I should begin looking?  Or is PAE support languishing?

gdb + PAE may not get much testing, but PAE kernels themselves certainly
are mainstream. Fedora Core 5 recently started providing PAE kernels in
addition to non-POAE ones, and Fedora Core 6 / RHEL5 will only support PAE
on i386, so there's plenty of use there. Prety sure SLES also uses PAE
kernels. 

Regards,
Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Can't set break points with Linux guest in PAE mode
  2006-10-04 23:54 Can't set break points with Linux guest in PAE mode Randy Thelen
  2006-10-05  0:53 ` Daniel P. Berrange
@ 2006-10-05  7:43 ` Keir Fraser
  2006-10-05  8:03   ` Keir Fraser
  1 sibling, 1 reply; 5+ messages in thread
From: Keir Fraser @ 2006-10-05  7:43 UTC (permalink / raw)
  To: Randy Thelen, xen-devel

On 5/10/06 12:54 am, "Randy Thelen" <rthelen@netapp.com> wrote:

> (XEN) DOM0: (file=mm.c, line=1688) Bad type (saw 28000001 != exp
> e0000000) for mfn 96efe (pfn 573)
> (XEN) DOM0: (file=mm.c, line=606) Error getting mfn 96efe (pfn 573)
> from L1 entry 0000000096efe027 for dom8
> (XEN) DOM0: (file=mm.c, line=1266) Bad get_page_from_l1e(): pl1e =
> fefa6a30, nl1e = 96efe027, ol1e = 0, gl1mfn = d8538
> (XEN) DOM0: (file=mm.c, line=2283) Could not modify L1 entry: va ==
> fefa6a30, l1e == 96efe027, mfn == d8538
> 
> (I've added the two MEM_LOG() calls at line 1266 and 2283.)
> 
> Any ideas where I should begin looking?  Or is PAE support languishing?

Xen thinks you are trying to map a guest pagetable page, and is not allowing
you write access. This is probably because the virt_to_phys translation code
that gdbserver is using is broken for PAE. My guess would be that it returns
the physical address of the PTE that maps the virtual address, rather than
the physical address that is mapped at the virtual address.

 -- Keir

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Can't set break points with Linux guest in PAE mode
  2006-10-05  7:43 ` Keir Fraser
@ 2006-10-05  8:03   ` Keir Fraser
  2006-10-05 18:55     ` Randy Thelen
  0 siblings, 1 reply; 5+ messages in thread
From: Keir Fraser @ 2006-10-05  8:03 UTC (permalink / raw)
  To: Keir Fraser, Randy Thelen, xen-devel


> Xen thinks you are trying to map a guest pagetable page, and is not allowing
> you write access. This is probably because the virt_to_phys translation code
> that gdbserver is using is broken for PAE. My guess would be that it returns
> the physical address of the PTE that maps the virtual address, rather than
> the physical address that is mapped at the virtual address.

Ah, the lookup function is mapping the PTE page with write permissions. That
won't work. I'll check in a fix.

 -- Keir

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Can't set break points with Linux guest in PAE mode
  2006-10-05  8:03   ` Keir Fraser
@ 2006-10-05 18:55     ` Randy Thelen
  0 siblings, 0 replies; 5+ messages in thread
From: Randy Thelen @ 2006-10-05 18:55 UTC (permalink / raw)
  To: Keir Fraser; +Cc: xen-devel

Keir Fraser wrote:

> Ah, the lookup function is mapping the PTE page with write  
> permissions. That
> won't work. I'll check in a fix.

You da man:

(gdb) b *0xc010002c
Breakpoint 1 at 0xc010002c
(gdb) c
Continuing.

Breakpoint 1, 0xc010002c in startup_32 ()
(gdb)

Thanks, Keir!

-- Randy

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2006-10-05 18:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-10-04 23:54 Can't set break points with Linux guest in PAE mode Randy Thelen
2006-10-05  0:53 ` Daniel P. Berrange
2006-10-05  7:43 ` Keir Fraser
2006-10-05  8:03   ` Keir Fraser
2006-10-05 18:55     ` Randy Thelen

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.