tree: drop last paragraph of GPL copyright header
[coreboot.git] / util / msrtool / darwin.c
blob10ec1452fd4ecbbe6e48aa81383439cf5930cc73
1 /*
2 * This file is part of msrtool.
4 * Copyright (c) 2009 coresystems GmbH
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
16 #include <sys/types.h>
17 #include <sys/stat.h>
18 #include <fcntl.h>
19 #include <unistd.h>
20 #include <string.h>
21 #include <errno.h>
23 #include "msrtool.h"
25 /* This Darwin support requires DirectHW, which is available at
26 * http://www.coreboot.org/DirectHW
29 int darwin_probe(const struct sysdef *system)
31 #ifdef __DARWIN__
32 return iopl(3) == 0;
33 #else
34 return 0;
35 #endif
38 int darwin_open(uint8_t cpu, enum SysModes mode)
40 #ifdef __DARWIN__
41 if (cpu > 0) {
42 fprintf(stderr, "%s: only core 0 is supported on Mac OS X right now.\n", __func__);
43 return 0;
45 return 1;
46 #else
47 return 0;
48 #endif
51 int darwin_close(uint8_t cpu)
53 return 1;
56 int darwin_rdmsr(uint8_t cpu, uint32_t addr, struct msr *val)
58 #ifdef __DARWIN__
59 msr_t msr;
61 msr = rdmsr(addr);
63 val->hi = msr.lo;
64 val->lo = msr.hi;
65 return 1;
66 #else
67 return 0;
68 #endif