~ubuntu-branches/ubuntu/utopic/crash/utopic-proposed

« back to all changes in this revision

Viewing changes to lkcd_x86_trace.c

  • Committer: Bazaar Package Importer
  • Author(s): Stephan Hermann
  • Date: 2008-05-05 12:54:24 UTC
  • mfrom: (0.1.10 upstream) (2.1.3 lenny)
  • Revision ID: james.westby@ubuntu.com-20080505125424-5q3qi10b5t8f1hc1
Tags: 4.0-6.3-1ubuntu1
* Merge from debian unstable, remaining changes:
  - debian/patches/01_spu_commands.dpatch:
    + SPU extension support
  - debian/rules:
    + Build SPU on powerpc

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
/* 
6
6
 *  lkcd_x86_trace.c
7
7
 *
8
 
 *  Copyright (C) 2002, 2003, 2004, 2005, 2006 David Anderson
9
 
 *  Copyright (C) 2002, 2003, 2004, 2005, 2006 Red Hat, Inc. All rights reserved.
 
8
 *  Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 David Anderson
 
9
 *  Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008 Red Hat, Inc. All rights reserved.
10
10
 *
11
11
 *  Adapted as noted from the following LKCD files:
12
12
 *
1423
1423
                if (XEN_HYPER_MODE()) {
1424
1424
                        func_name = kl_funcname(pc);
1425
1425
                        if (STREQ(func_name, "idle_loop") || STREQ(func_name, "hypercall")
 
1426
                                || STREQ(func_name, "tracing_off")
1426
1427
                                || STREQ(func_name, "handle_exception")) {
1427
1428
                                UPDATE_FRAME(func_name, pc, 0, sp, bp, asp, 0, 0, bp - sp, 0);
1428
1429
                                return(trace->nframes);
1682
1683
                if (func_name && XEN_HYPER_MODE()) {
1683
1684
                        if (STREQ(func_name, "continue_nmi") ||
1684
1685
                            STREQ(func_name, "vmx_asm_vmexit_handler") ||
 
1686
                            STREQ(func_name, "handle_nmi_mce") ||
1685
1687
                            STREQ(func_name, "deferred_nmi")) {
1686
1688
                                /* Interrupt frame */
1687
1689
                                sp = curframe->fp + 4;
2534
2536
                        efp->tracesys_exit = symbol_search("tracesys_exit");
2535
2537
                }
2536
2538
 
2537
 
                if ((efp->sysenter = symbol_search("sysenter_entry"))) {
 
2539
                if ((efp->sysenter = symbol_search("sysenter_entry")) ||
 
2540
                    (efp->sysenter = symbol_search("ia32_sysenter_target"))) {
2538
2541
                        if ((sp = symbol_search("sysexit_ret_end_marker")))
2539
2542
                                efp->sysenter_end = sp;
2540
2543
                        else if ((sp = symbol_search("system_call")))