ghes.h (d0dddab40e472ba62b5f43f11cc7dba085dabe71) ghes.h (1c81f5735af3e2356bb75482a58786a4f26d8300)
1/*
2 * Support for generating APEI tables and recording CPER for Guests
3 *
4 * Copyright (c) 2020 HUAWEI TECHNOLOGIES CO., LTD.
5 *
6 * Author: Dongjiu Geng <gengdongjiu@huawei.com>
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 50 unchanged lines hidden (view full) ---

59enum {
60 ACPI_HEST_SRC_ID_SEA = 0,
61 /* future ids go here */
62 ACPI_HEST_SRC_ID_RESERVED,
63};
64
65typedef struct AcpiGhesState {
66 uint64_t ghes_addr_le;
1/*
2 * Support for generating APEI tables and recording CPER for Guests
3 *
4 * Copyright (c) 2020 HUAWEI TECHNOLOGIES CO., LTD.
5 *
6 * Author: Dongjiu Geng <gengdongjiu@huawei.com>
7 *
8 * This program is free software; you can redistribute it and/or modify

--- 50 unchanged lines hidden (view full) ---

59enum {
60 ACPI_HEST_SRC_ID_SEA = 0,
61 /* future ids go here */
62 ACPI_HEST_SRC_ID_RESERVED,
63};
64
65typedef struct AcpiGhesState {
66 uint64_t ghes_addr_le;
67 bool present; /* True if GHES is present at all on this board */
67} AcpiGhesState;
68
69void build_ghes_error_table(GArray *hardware_errors, BIOSLinker *linker);
70void acpi_build_hest(GArray *table_data, BIOSLinker *linker,
71 const char *oem_id, const char *oem_table_id);
72void acpi_ghes_add_fw_cfg(AcpiGhesState *vms, FWCfgState *s,
73 GArray *hardware_errors);
74int acpi_ghes_record_errors(uint8_t notify, uint64_t error_physical_addr);
68} AcpiGhesState;
69
70void build_ghes_error_table(GArray *hardware_errors, BIOSLinker *linker);
71void acpi_build_hest(GArray *table_data, BIOSLinker *linker,
72 const char *oem_id, const char *oem_table_id);
73void acpi_ghes_add_fw_cfg(AcpiGhesState *vms, FWCfgState *s,
74 GArray *hardware_errors);
75int acpi_ghes_record_errors(uint8_t notify, uint64_t error_physical_addr);
76
77/**
78 * acpi_ghes_present: Report whether ACPI GHES table is present
79 *
80 * Returns: true if the system has an ACPI GHES table and it is
81 * safe to call acpi_ghes_record_errors() to record a memory error.
82 */
83bool acpi_ghes_present(void);
75#endif
84#endif