mirror of
https://github.com/fail0verflow/switch-linux.git
synced 2025-05-04 02:34:21 -04:00
ghes: move structures/enum to a header file
As a ghes_edac driver will need to access ghes structures, in order to properly handle the errors, move those structures to a separate header file. No functional changes. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
This commit is contained in:
parent
8dd93d450b
commit
40e0641538
2 changed files with 47 additions and 45 deletions
|
@ -48,8 +48,8 @@
|
||||||
#include <linux/genalloc.h>
|
#include <linux/genalloc.h>
|
||||||
#include <linux/pci.h>
|
#include <linux/pci.h>
|
||||||
#include <linux/aer.h>
|
#include <linux/aer.h>
|
||||||
#include <acpi/apei.h>
|
|
||||||
#include <acpi/hed.h>
|
#include <acpi/ghes.h>
|
||||||
#include <asm/mce.h>
|
#include <asm/mce.h>
|
||||||
#include <asm/tlbflush.h>
|
#include <asm/tlbflush.h>
|
||||||
#include <asm/nmi.h>
|
#include <asm/nmi.h>
|
||||||
|
@ -84,42 +84,6 @@
|
||||||
((struct acpi_hest_generic_status *) \
|
((struct acpi_hest_generic_status *) \
|
||||||
((struct ghes_estatus_node *)(estatus_node) + 1))
|
((struct ghes_estatus_node *)(estatus_node) + 1))
|
||||||
|
|
||||||
/*
|
|
||||||
* One struct ghes is created for each generic hardware error source.
|
|
||||||
* It provides the context for APEI hardware error timer/IRQ/SCI/NMI
|
|
||||||
* handler.
|
|
||||||
*
|
|
||||||
* estatus: memory buffer for error status block, allocated during
|
|
||||||
* HEST parsing.
|
|
||||||
*/
|
|
||||||
#define GHES_TO_CLEAR 0x0001
|
|
||||||
#define GHES_EXITING 0x0002
|
|
||||||
|
|
||||||
struct ghes {
|
|
||||||
struct acpi_hest_generic *generic;
|
|
||||||
struct acpi_hest_generic_status *estatus;
|
|
||||||
u64 buffer_paddr;
|
|
||||||
unsigned long flags;
|
|
||||||
union {
|
|
||||||
struct list_head list;
|
|
||||||
struct timer_list timer;
|
|
||||||
unsigned int irq;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
struct ghes_estatus_node {
|
|
||||||
struct llist_node llnode;
|
|
||||||
struct acpi_hest_generic *generic;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct ghes_estatus_cache {
|
|
||||||
u32 estatus_len;
|
|
||||||
atomic_t count;
|
|
||||||
struct acpi_hest_generic *generic;
|
|
||||||
unsigned long long time_in;
|
|
||||||
struct rcu_head rcu;
|
|
||||||
};
|
|
||||||
|
|
||||||
bool ghes_disable;
|
bool ghes_disable;
|
||||||
module_param_named(disable, ghes_disable, bool, 0);
|
module_param_named(disable, ghes_disable, bool, 0);
|
||||||
|
|
||||||
|
@ -333,13 +297,6 @@ static void ghes_fini(struct ghes *ghes)
|
||||||
apei_unmap_generic_address(&ghes->generic->error_status_address);
|
apei_unmap_generic_address(&ghes->generic->error_status_address);
|
||||||
}
|
}
|
||||||
|
|
||||||
enum {
|
|
||||||
GHES_SEV_NO = 0x0,
|
|
||||||
GHES_SEV_CORRECTED = 0x1,
|
|
||||||
GHES_SEV_RECOVERABLE = 0x2,
|
|
||||||
GHES_SEV_PANIC = 0x3,
|
|
||||||
};
|
|
||||||
|
|
||||||
static inline int ghes_severity(int severity)
|
static inline int ghes_severity(int severity)
|
||||||
{
|
{
|
||||||
switch (severity) {
|
switch (severity) {
|
||||||
|
|
45
include/acpi/ghes.h
Normal file
45
include/acpi/ghes.h
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
#include <acpi/apei.h>
|
||||||
|
#include <acpi/hed.h>
|
||||||
|
|
||||||
|
/*
|
||||||
|
* One struct ghes is created for each generic hardware error source.
|
||||||
|
* It provides the context for APEI hardware error timer/IRQ/SCI/NMI
|
||||||
|
* handler.
|
||||||
|
*
|
||||||
|
* estatus: memory buffer for error status block, allocated during
|
||||||
|
* HEST parsing.
|
||||||
|
*/
|
||||||
|
#define GHES_TO_CLEAR 0x0001
|
||||||
|
#define GHES_EXITING 0x0002
|
||||||
|
|
||||||
|
struct ghes {
|
||||||
|
struct acpi_hest_generic *generic;
|
||||||
|
struct acpi_hest_generic_status *estatus;
|
||||||
|
u64 buffer_paddr;
|
||||||
|
unsigned long flags;
|
||||||
|
union {
|
||||||
|
struct list_head list;
|
||||||
|
struct timer_list timer;
|
||||||
|
unsigned int irq;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ghes_estatus_node {
|
||||||
|
struct llist_node llnode;
|
||||||
|
struct acpi_hest_generic *generic;
|
||||||
|
};
|
||||||
|
|
||||||
|
struct ghes_estatus_cache {
|
||||||
|
u32 estatus_len;
|
||||||
|
atomic_t count;
|
||||||
|
struct acpi_hest_generic *generic;
|
||||||
|
unsigned long long time_in;
|
||||||
|
struct rcu_head rcu;
|
||||||
|
};
|
||||||
|
|
||||||
|
enum {
|
||||||
|
GHES_SEV_NO = 0x0,
|
||||||
|
GHES_SEV_CORRECTED = 0x1,
|
||||||
|
GHES_SEV_RECOVERABLE = 0x2,
|
||||||
|
GHES_SEV_PANIC = 0x3,
|
||||||
|
};
|
Loading…
Add table
Reference in a new issue