Lines Matching refs:mcelog
155 static struct mce_log mcelog = { variable
171 entry = rcu_dereference_check_mce(mcelog.next); in mce_log()
189 (unsigned long *)&mcelog.flags); in mce_log()
193 if (mcelog.entry[entry].finished) { in mce_log()
201 if (cmpxchg(&mcelog.next, entry, next) == entry) in mce_log()
204 memcpy(mcelog.entry + entry, mce, sizeof(struct mce)); in mce_log()
206 mcelog.entry[entry].finished = 1; in mce_log()
287 struct mce *m = &mcelog.entry[i]; in mce_panic()
298 struct mce *m = &mcelog.entry[i]; in mce_panic()
1562 next = rcu_dereference_check_mce(mcelog.next); in mce_read()
1575 while (!mcelog.entry[i].finished) { in mce_read()
1577 memset(mcelog.entry + i, 0, in mce_read()
1584 err |= copy_to_user(buf, mcelog.entry + i, in mce_read()
1591 memset(mcelog.entry + prev, 0, in mce_read()
1594 next = cmpxchg(&mcelog.next, prev, 0); in mce_read()
1606 if (mcelog.entry[i].finished && in mce_read()
1607 mcelog.entry[i].tsc < cpu_tsc[mcelog.entry[i].cpu]) { in mce_read()
1608 err |= copy_to_user(buf, mcelog.entry+i, in mce_read()
1612 memset(&mcelog.entry[i], 0, sizeof(struct mce)); in mce_read()
1629 if (rcu_access_index(mcelog.next)) in mce_poll()
1652 flags = mcelog.flags; in mce_ioctl()
1653 } while (cmpxchg(&mcelog.flags, flags, 0) != flags); in mce_ioctl()