aboutsummaryrefslogtreecommitdiffstats
path: root/xen/include/acpi/apei.h
blob: 162f616ef0ea995590c0ad458d5519431eca692a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/*
 * apei.h - ACPI Platform Error Interface
 */

#ifndef ACPI_APEI_H
#define ACPI_APEI_H

#include <xen/acpi.h>
#include <xen/cper.h>

#define APEI_ERST_INVALID_RECORD_ID	0xffffffffffffffffULL

#define FIX_APEI_RANGE_MAX 64

int erst_write(const struct cper_record_header *record);
size_t erst_get_record_count(void);
int erst_get_next_record_id(u64 *record_id);
size_t erst_read(u64 record_id, struct cper_record_header *record,
		  size_t buflen);
size_t erst_read_next(struct cper_record_header *record, size_t buflen);
int erst_clear(u64 record_id);

void __iomem *apei_pre_map(paddr_t paddr, unsigned long size);

int apei_pre_map_gar(struct acpi_generic_address *reg);
int apei_post_unmap_gar(struct acpi_generic_address *reg);

int apei_read(u64 *val, struct acpi_generic_address *reg);
int apei_write(u64 val, struct acpi_generic_address *reg);

#endif