Re: [m5-dev] syscall tracer

2009-01-31 Thread nathan binkert
I think I'm missing the high level overview of what this thread is about, but I do have one comment To help find that seg fault, I'd suggest going into the kernel and placing m5_exit() calls in arch/x86/mm/fault.c in the do_page_fault() where the kernel sends a SIGSEGV to user code and that'll

Re: [m5-dev] syscall tracer

2009-01-31 Thread Gabe Black
Another thing that could be nice for debugging is hacking ld.so a little bit so that it passes the symbols to M5 with the add_symbol instruction. You'd of course not want all instances of ld.so running to do this, so you'd want to be able to have a set of programs or PIDs or something that

Re: [m5-dev] syscall tracer

2009-01-31 Thread nathan binkert
It would be nice to hack the kernels elf loader to do something similar as well. Both could provide be sort of an overlay symbol table you'd pull in and out on task switches. I like these ideas, but unfortunately the binaries I'm dealing with in my disk image don't seem to have any symbols

Re: [m5-dev] syscall tracer

2009-01-30 Thread Steve Reinhardt
I've been following your thoughts but haven't replied because I don't have any particular ideas beyond what you've said. The main things I would say are to build off the existing SE-mode data structures and make the tracing work with SE mode as well, but you've already covered those. You'll see

Re: [m5-dev] syscall tracer

2009-01-30 Thread Geoffrey Blake
...@m5sim.org [mailto:m5-dev-boun...@m5sim.org] On Behalf Of Steve Reinhardt Sent: Friday, January 30, 2009 10:12 AM To: M5 Developer List Subject: Re: [m5-dev] syscall tracer I've been following your thoughts but haven't replied because I don't have any particular ideas beyond what you've said

Re: [m5-dev] syscall tracer

2009-01-30 Thread gblack
Quoting Geoffrey Blake bla...@umich.edu: What exactly are you trying to do with making a syscall tracer Gabe? I thought your original problem was a happening with GLIBC doing some bizarre pointer encryption/decryption and it was getting it wrong leading to a segmentation fault? That is the

Re: [m5-dev] syscall tracer

2009-01-29 Thread Gabe Black
Actually the timer goes off and the UART gets checked manually, and everything has passed through by that point so execution continues. I think there's supposed to be an interrupt or something for when the UART finishes, so there may be an issue with that never showing up. Gabe Black wrote:

Re: [m5-dev] syscall tracer

2009-01-29 Thread Gabe Black
Anybody? I was thinking one option would be to extend SyscallDesc to have a gatherArgs() function and a describe() function. describe() would just generate a string which would be like disassembly but for syscalls. Then, every syscall would have a nice line in SE with the syscall traceflag,

[m5-dev] syscall tracer

2009-01-28 Thread Gabe Black
Unfortunately, decreasing the TLB size to one was a red haring (sic?). With only one entry, if an instruction or an access spans pages (which takes amazingly long to happen), the TLB thrashes back and forth in that one entry and never gets anywhere. Now what I'm trying to do to get a