Lines Matching refs:mcelog
32 static struct mce_log_buffer *mcelog; variable
47 entry = mcelog->next; in dev_mce_log()
53 if (entry >= mcelog->len) { in dev_mce_log()
54 set_bit(MCE_OVERFLOW, (unsigned long *)&mcelog->flags); in dev_mce_log()
58 mcelog->next = entry + 1; in dev_mce_log()
60 memcpy(mcelog->entry + entry, mce, sizeof(struct mce)); in dev_mce_log()
61 mcelog->entry[entry].finished = 1; in dev_mce_log()
62 mcelog->entry[entry].kflags = 0; in dev_mce_log()
220 if (*off != 0 || usize < mcelog->len * sizeof(struct mce)) in mce_chrdev_read()
223 next = mcelog->next; in mce_chrdev_read()
227 struct mce *m = &mcelog->entry[i]; in mce_chrdev_read()
233 memset(mcelog->entry, 0, next * sizeof(struct mce)); in mce_chrdev_read()
234 mcelog->next = 0; in mce_chrdev_read()
248 if (READ_ONCE(mcelog->next)) in mce_chrdev_poll()
267 return put_user(mcelog->len, p); in mce_chrdev_ioctl()
272 flags = mcelog->flags; in mce_chrdev_ioctl()
273 } while (cmpxchg(&mcelog->flags, flags, 0) != flags); in mce_chrdev_ioctl()
350 mcelog = kzalloc(struct_size(mcelog, entry, mce_log_len), GFP_KERNEL); in dev_mcelog_init_device()
351 if (!mcelog) in dev_mcelog_init_device()
354 memcpy(mcelog->signature, MCE_LOG_SIGNATURE, sizeof(mcelog->signature)); in dev_mcelog_init_device()
355 mcelog->len = mce_log_len; in dev_mcelog_init_device()
356 mcelog->recordlen = sizeof(struct mce); in dev_mcelog_init_device()
367 kfree(mcelog); in dev_mcelog_init_device()