xref: /openbsd-src/sys/arch/i386/include/amdmsr.h (revision 2fa72412907ae78c4787a4a8f888c5f0486e225c)
1*2fa72412Spirofti /*	$OpenBSD: amdmsr.h,v 1.4 2011/03/23 16:54:35 pirofti Exp $ */
24826a54bSmbalmer 
3dbd77756Sderaadt /*
4dbd77756Sderaadt  * Copyright (c) 2008 Marc Balmer <mbalmer@openbsd.org>
5dbd77756Sderaadt  *
6dbd77756Sderaadt  * Permission to use, copy, modify, and distribute this software for any
7dbd77756Sderaadt  * purpose with or without fee is hereby granted, provided that the above
8dbd77756Sderaadt  * copyright notice and this permission notice appear in all copies.
9dbd77756Sderaadt  *
10dbd77756Sderaadt  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11dbd77756Sderaadt  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12dbd77756Sderaadt  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13dbd77756Sderaadt  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14dbd77756Sderaadt  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15dbd77756Sderaadt  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16dbd77756Sderaadt  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17dbd77756Sderaadt  */
18dbd77756Sderaadt 
19*2fa72412Spirofti #ifndef _MACHINE_AMDMSR_H_
20*2fa72412Spirofti #define _MACHINE_AMDMSR_H_
21dbd77756Sderaadt 
22dbd77756Sderaadt struct amdmsr_req {
23dbd77756Sderaadt 	u_int32_t addr;	/* 32-bit MSR address */
24dbd77756Sderaadt 	u_int64_t val;	/* 64-bit MSR value */
25dbd77756Sderaadt };
26dbd77756Sderaadt 
27dbd77756Sderaadt #define RDMSR	_IOWR('M', 0, struct amdmsr_req)
28dbd77756Sderaadt #define WRMSR	_IOW('M', 1, struct amdmsr_req)
29dbd77756Sderaadt 
30f49632f6Smbalmer #ifdef _KERNEL
31f49632f6Smbalmer int	amdmsr_probe(void);
32f49632f6Smbalmer #endif
33f49632f6Smbalmer 
34*2fa72412Spirofti #endif	/* !_MACHINE_AMDMSR_H_ */
35