memtest86plus/system/hwquirks.h
Sam Demeulemeester 1f1fe5bfe8 Generalize the SMBus IO Enable quirk on all Intel ICHs
This has been tested safe on every ICH since the very first one by CPU-Z.
It also solves various SMBus access issues on Mobile PCHs (like #157)
2023-04-26 00:42:58 +02:00

47 lines
946 B
C

// SPDX-License-Identifier: GPL-2.0
// Copyright (C) 2004-2022 Sam Demeulemeester
#ifndef _QUIRK_H_
#define _QUIRK_H_
/**
*
* Provides support for hardware quirks
*
*/
#include <stdbool.h>
#include <stdint.h>
#include <stddef.h>
#define QUIRK_TYPE_NONE (1 << 0)
#define QUIRK_TYPE_USB (1 << 1)
#define QUIRK_TYPE_SMP (1 << 2)
#define QUIRK_TYPE_SMBIOS (1 << 3)
#define QUIRK_TYPE_SMBUS (1 << 4)
#define QUIRK_TYPE_TIMER (1 << 5)
#define QUIRK_TYPE_MEM_SIZE (1 << 6)
#define QUIRK_TYPE_TEMP (1 << 7)
typedef enum {
QUIRK_NONE,
QUIRK_TUSL2,
QUIRK_ALI_ALADDIN_V,
QUIRK_X10SDV_NOSMP,
QUIRK_K8_BSTEP_NOTEMP,
QUIRK_K8_REVFG_TEMP,
QUIRK_AMD_ERRATA_319
} quirk_id_t;
typedef struct {
quirk_id_t id;
uint8_t type;
uint16_t root_vid;
uint16_t root_did;
void (*process)(void);
} quirk_t;
extern quirk_t quirk;
void quirks_init(void);
#endif /* _QUIRK_H_ */