mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-28 07:04:00 +08:00
cef12ee52b
When MCA error occurs, it would be handled by Xen hypervisor first, and then the error information would be sent to initial domain for logging. This patch gets error information from Xen hypervisor and convert Xen format error into Linux format mcelog. This logic is basically self-contained, not touching other kernel components. By using tools like mcelog tool users could read specific error information, like what they did under native Linux. To test follow directions outlined in Documentation/acpi/apei/einj.txt Acked-and-tested-by: Borislav Petkov <borislav.petkov@amd.com> Signed-off-by: Ke, Liping <liping.ke@intel.com> Signed-off-by: Jiang, Yunhong <yunhong.jiang@intel.com> Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> Signed-off-by: Liu, Jinsong <jinsong.liu@intel.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
69 lines
1.8 KiB
C
69 lines
1.8 KiB
C
#ifndef _LINUX_MISCDEVICE_H
|
|
#define _LINUX_MISCDEVICE_H
|
|
#include <linux/major.h>
|
|
#include <linux/list.h>
|
|
#include <linux/types.h>
|
|
|
|
/*
|
|
* These allocations are managed by device@lanana.org. If you use an
|
|
* entry that is not in assigned your entry may well be moved and
|
|
* reassigned, or set dynamic if a fixed value is not justified.
|
|
*/
|
|
|
|
#define PSMOUSE_MINOR 1
|
|
#define MS_BUSMOUSE_MINOR 2
|
|
#define ATIXL_BUSMOUSE_MINOR 3
|
|
/*#define AMIGAMOUSE_MINOR 4 FIXME OBSOLETE */
|
|
#define ATARIMOUSE_MINOR 5
|
|
#define SUN_MOUSE_MINOR 6
|
|
#define APOLLO_MOUSE_MINOR 7
|
|
#define PC110PAD_MINOR 9
|
|
/*#define ADB_MOUSE_MINOR 10 FIXME OBSOLETE */
|
|
#define WATCHDOG_MINOR 130 /* Watchdog timer */
|
|
#define TEMP_MINOR 131 /* Temperature Sensor */
|
|
#define RTC_MINOR 135
|
|
#define EFI_RTC_MINOR 136 /* EFI Time services */
|
|
#define SUN_OPENPROM_MINOR 139
|
|
#define DMAPI_MINOR 140 /* DMAPI */
|
|
#define NVRAM_MINOR 144
|
|
#define SGI_MMTIMER 153
|
|
#define STORE_QUEUE_MINOR 155
|
|
#define I2O_MINOR 166
|
|
#define MICROCODE_MINOR 184
|
|
#define TUN_MINOR 200
|
|
#define MWAVE_MINOR 219 /* ACP/Mwave Modem */
|
|
#define MPT_MINOR 220
|
|
#define MPT2SAS_MINOR 221
|
|
#define UINPUT_MINOR 223
|
|
#define MISC_MCELOG_MINOR 227
|
|
#define HPET_MINOR 228
|
|
#define FUSE_MINOR 229
|
|
#define KVM_MINOR 232
|
|
#define BTRFS_MINOR 234
|
|
#define AUTOFS_MINOR 235
|
|
#define MAPPER_CTRL_MINOR 236
|
|
#define LOOP_CTRL_MINOR 237
|
|
#define VHOST_NET_MINOR 238
|
|
#define MISC_DYNAMIC_MINOR 255
|
|
|
|
struct device;
|
|
|
|
struct miscdevice {
|
|
int minor;
|
|
const char *name;
|
|
const struct file_operations *fops;
|
|
struct list_head list;
|
|
struct device *parent;
|
|
struct device *this_device;
|
|
const char *nodename;
|
|
umode_t mode;
|
|
};
|
|
|
|
extern int misc_register(struct miscdevice * misc);
|
|
extern int misc_deregister(struct miscdevice *misc);
|
|
|
|
#define MODULE_ALIAS_MISCDEV(minor) \
|
|
MODULE_ALIAS("char-major-" __stringify(MISC_MAJOR) \
|
|
"-" __stringify(minor))
|
|
#endif
|