34 lines
723 B
C
34 lines
723 B
C
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||
|
/*
|
||
|
* Support for the configuration register space at port I/O locations
|
||
|
* 0x22 and 0x23 variously used by PC architectures, e.g. the MP Spec,
|
||
|
* Cyrix CPUs, numerous chipsets.
|
||
|
*/
|
||
|
#ifndef _ASM_X86_PC_CONF_REG_H
|
||
|
#define _ASM_X86_PC_CONF_REG_H
|
||
|
|
||
|
#include <linux/io.h>
|
||
|
#include <linux/spinlock.h>
|
||
|
#include <linux/types.h>
|
||
|
|
||
|
#define PC_CONF_INDEX 0x22
|
||
|
#define PC_CONF_DATA 0x23
|
||
|
|
||
|
#define PC_CONF_MPS_IMCR 0x70
|
||
|
|
||
|
extern raw_spinlock_t pc_conf_lock;
|
||
|
|
||
|
static inline u8 pc_conf_get(u8 reg)
|
||
|
{
|
||
|
outb(reg, PC_CONF_INDEX);
|
||
|
return inb(PC_CONF_DATA);
|
||
|
}
|
||
|
|
||
|
static inline void pc_conf_set(u8 reg, u8 data)
|
||
|
{
|
||
|
outb(reg, PC_CONF_INDEX);
|
||
|
outb(data, PC_CONF_DATA);
|
||
|
}
|
||
|
|
||
|
#endif /* _ASM_X86_PC_CONF_REG_H */
|