26ab868e68
caveats, but works quite well in a lot of MP cases, and all UP cases that I have tested. Parts of this will hopefully be reworked in the not-too-distant future.
25 lines
414 B
C
25 lines
414 B
C
/*
|
|
* Trap log. Per-cpu ring buffer containing a log of the last 2**N
|
|
* traps.
|
|
*/
|
|
|
|
struct trec
|
|
{
|
|
uint32_t tr_sp; /* stack pointer */
|
|
uint32_t tr_hpc; /* handler pc */
|
|
uint32_t tr_ipc; /* interrupted pc */
|
|
uint32_t tr_tsc; /* timestamp counter */
|
|
uint32_t tr_lbf; /* MSR_LAST{BRANCH,INT}{FROM,TO}IP */
|
|
uint32_t tr_lbt;
|
|
uint32_t tr_ibf;
|
|
uint32_t tr_ibt;
|
|
};
|
|
|
|
struct tlog
|
|
{
|
|
struct trec tl_recs[128];
|
|
};
|
|
|
|
|
|
|