mirror of
https://github.com/memtest86plus/memtest86plus.git
synced 2024-11-23 08:26:23 -06:00
1f1fe5bfe8
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)
47 lines
946 B
C
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_ */
|