Deleted Added
full compact
cpuctl.h (195189) cpuctl.h (267651)
1/*-
2 * Copyright (c) 2006-2008 Stanislav Sedov <stas@FreeBSD.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
1/*-
2 * Copyright (c) 2006-2008 Stanislav Sedov <stas@FreeBSD.org>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 9 unchanged lines hidden (view full) ---

18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
24 * SUCH DAMAGE.
25 *
26 * $FreeBSD: head/sys/sys/cpuctl.h 195189 2009-06-30 12:35:47Z stas $
26 * $FreeBSD: head/sys/sys/cpuctl.h 267651 2014-06-19 21:54:41Z attilio $
27 */
28
29#ifndef _CPUCTL_H_
30#define _CPUCTL_H_
31
32typedef struct {
33 int msr; /* MSR to read */
34 uint64_t data;
35} cpuctl_msr_args_t;
36
37typedef struct {
27 */
28
29#ifndef _CPUCTL_H_
30#define _CPUCTL_H_
31
32typedef struct {
33 int msr; /* MSR to read */
34 uint64_t data;
35} cpuctl_msr_args_t;
36
37typedef struct {
38 int level; /* CPUID level */
38 int level; /* CPUID level */
39 int level_type; /* CPUID level type */
39 uint32_t data[4];
40} cpuctl_cpuid_args_t;
41
42typedef struct {
43 void *data;
44 size_t size;
45} cpuctl_update_args_t;
46
47#define CPUCTL_RDMSR _IOWR('c', 1, cpuctl_msr_args_t)
48#define CPUCTL_WRMSR _IOWR('c', 2, cpuctl_msr_args_t)
49#define CPUCTL_CPUID _IOWR('c', 3, cpuctl_cpuid_args_t)
50#define CPUCTL_UPDATE _IOWR('c', 4, cpuctl_update_args_t)
51#define CPUCTL_MSRSBIT _IOWR('c', 5, cpuctl_msr_args_t)
52#define CPUCTL_MSRCBIT _IOWR('c', 6, cpuctl_msr_args_t)
40 uint32_t data[4];
41} cpuctl_cpuid_args_t;
42
43typedef struct {
44 void *data;
45 size_t size;
46} cpuctl_update_args_t;
47
48#define CPUCTL_RDMSR _IOWR('c', 1, cpuctl_msr_args_t)
49#define CPUCTL_WRMSR _IOWR('c', 2, cpuctl_msr_args_t)
50#define CPUCTL_CPUID _IOWR('c', 3, cpuctl_cpuid_args_t)
51#define CPUCTL_UPDATE _IOWR('c', 4, cpuctl_update_args_t)
52#define CPUCTL_MSRSBIT _IOWR('c', 5, cpuctl_msr_args_t)
53#define CPUCTL_MSRCBIT _IOWR('c', 6, cpuctl_msr_args_t)
54#define CPUCTL_CPUID_COUNT _IOWR('c', 7, cpuctl_cpuid_args_t)
53
54#endif /* _CPUCTL_H_ */
55
56#endif /* _CPUCTL_H_ */