Lines Matching refs:record
133 struct pstore_record *record) in ramoops_get_next_prz() argument
152 record->type = prz->type; in ramoops_get_next_prz()
153 record->id = id; in ramoops_get_next_prz()
192 ssize_t ramoops_pstore_read_for_boot_log(struct pstore_record *record) in ramoops_pstore_read_for_boot_log() argument
194 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_read_for_boot_log()
200 prz = cxt->boot_przs[record->id]; in ramoops_pstore_read_for_boot_log()
207 record->buf = prz->old_log; in ramoops_pstore_read_for_boot_log()
208 record->size = prz->old_log_size; in ramoops_pstore_read_for_boot_log()
209 return record->size; in ramoops_pstore_read_for_boot_log()
213 static ssize_t ramoops_pstore_read(struct pstore_record *record) in ramoops_pstore_read() argument
216 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_read()
226 record->time.tv_sec = 0; in ramoops_pstore_read()
227 record->time.tv_nsec = 0; in ramoops_pstore_read()
228 record->compressed = false; in ramoops_pstore_read()
233 record); in ramoops_pstore_read()
237 &record->time, in ramoops_pstore_read()
238 &record->compressed); in ramoops_pstore_read()
248 prz = ramoops_get_next_prz(&cxt->cprz, 0 /* single */, record); in ramoops_pstore_read()
251 prz = ramoops_get_next_prz(&cxt->mprz, 0 /* single */, record); in ramoops_pstore_read()
258 record); in ramoops_pstore_read()
275 cxt->ftrace_read_cnt++, record); in ramoops_pstore_read()
293 record->id = 0; in ramoops_pstore_read()
300 prz = ramoops_get_next_prz(cxt->boot_przs, cxt->boot_log_read_cnt++, record); in ramoops_pstore_read()
313 if (record->type == PSTORE_TYPE_BOOT_LOG) { in ramoops_pstore_read()
322 record->ecc_notice_size = persistent_ram_ecc_string(prz, NULL, 0); in ramoops_pstore_read()
324 record->buf = kmalloc(size + record->ecc_notice_size + 1, GFP_KERNEL); in ramoops_pstore_read()
325 if (record->buf == NULL) { in ramoops_pstore_read()
330 memcpy(record->buf, (char *)persistent_ram_old(prz) + header_length, in ramoops_pstore_read()
333 persistent_ram_ecc_string(prz, record->buf + size, in ramoops_pstore_read()
334 record->ecc_notice_size + 1); in ramoops_pstore_read()
346 struct pstore_record *record) in ramoops_write_kmsg_hdr() argument
353 (time64_t)record->time.tv_sec, in ramoops_write_kmsg_hdr()
354 record->time.tv_nsec / 1000, in ramoops_write_kmsg_hdr()
355 record->compressed ? 'C' : 'D'); in ramoops_write_kmsg_hdr()
361 static int notrace ramoops_pstore_write(struct pstore_record *record) in ramoops_pstore_write() argument
363 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_write()
367 if (record->type == PSTORE_TYPE_CONSOLE) { in ramoops_pstore_write()
370 persistent_ram_write(cxt->cprz, record->buf, record->size); in ramoops_pstore_write()
372 } else if (record->type == PSTORE_TYPE_FTRACE) { in ramoops_pstore_write()
385 persistent_ram_write(cxt->fprzs[zonenum], record->buf, in ramoops_pstore_write()
386 record->size); in ramoops_pstore_write()
388 } else if (record->type == PSTORE_TYPE_PMSG) { in ramoops_pstore_write()
393 if (record->type != PSTORE_TYPE_DMESG) in ramoops_pstore_write()
412 if (record->part != 1) in ramoops_pstore_write()
432 hlen = ramoops_write_kmsg_hdr(prz, record); in ramoops_pstore_write()
436 size = record->size; in ramoops_pstore_write()
439 persistent_ram_write(prz, record->buf, size); in ramoops_pstore_write()
446 static int notrace ramoops_pstore_write_user(struct pstore_record *record, in ramoops_pstore_write_user() argument
449 if (record->type == PSTORE_TYPE_PMSG) { in ramoops_pstore_write_user()
450 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_write_user()
454 return persistent_ram_write_user(cxt->mprz, buf, record->size); in ramoops_pstore_write_user()
460 static int ramoops_pstore_erase(struct pstore_record *record) in ramoops_pstore_erase() argument
462 struct ramoops_context *cxt = record->psi->data; in ramoops_pstore_erase()
465 switch (record->type) { in ramoops_pstore_erase()
467 if (record->id >= cxt->max_dump_cnt) in ramoops_pstore_erase()
469 prz = cxt->dprzs[record->id]; in ramoops_pstore_erase()
475 if (record->id >= cxt->max_ftrace_cnt) in ramoops_pstore_erase()
477 prz = cxt->fprzs[record->id]; in ramoops_pstore_erase()