Hi,

Answering "1. Am I instrumenting all stores if I instrument the OPROTOs in
ops_mem.h? "

Do you consider all updates to memory as stores? e.g. add %ebx, (%eax), will
also write to the memory and
void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T0_A0)(void) or one of its
variant will be called.

If you are interested in all the memory updates, then your approach is
correct. If you are only interested in store instructions then your approach
is not correct.

Atif

On 5/17/07, Shashidhar Mysore <[EMAIL PROTECTED]> wrote:

Hi,

I want to instrument all store instructions, and for this I wrote a helper
function (in helper.c) which prints out some information every time a
store is executed. I call this helper function from within every store
OPROTO in ops_mem.h

for example:
void OPPROTO glue(glue(op_stl, MEMSUFFIX), _T0_A0)(void)
{
    glue(stl, MEMSUFFIX)(A0, T0);
    helper_print_info(A0); // MY HELPER FUNCTION
    FORCE_RET();
}


This works just fine for me for some time, but after a while when the
frequency of calls to helper_print_info increases, QEMU just hangs throwing
out some information on the QEMU console. I have typed in the error message
in parts below - (If you need more information, please let me know - I
included  a subset just because I do not yet know how to copy-paste text
from QEMU console to the host machine console)

*******************************************
BUG: soft lockup detected on CPU#0!

Pid: 0, comm: swapper
EIP: 0060:[<c027adfb>] CPU: 0
EIP is at serio_interrupt+0x7f/0x18f
EFLAGS: 00000286
...
[c02c1b2d>] cdrom_pc_intr+0x90/0x21a
...
[<c0105b1d>] do_IRQ+0x4a/0x82
=======================
...
[<c04242fe>] unknown_bootoption+0x0/0x1cd
****************************************

QEMU hangs after throwing out the above error. However, if I switch to the
Monitor and disable  my helper function, QEMU resumes back and works fine.
Can somebody tell me -
1. Am I instrumenting all stores if I instrument the OPROTOs in ops_mem.h?

2. From my above example, am I instrumenting the stores with my helper
function in the right way?
3. Can you please tell me why "BUG: soft lockup detected..." error shows
up freezing QEMU?

Looking forward to your help.
Thanks in advance.
-Shashi.

Reply via email to