diff options
| -rw-r--r-- | sys/src/9/bcm/devarch.c | 9 | ||||
| -rw-r--r-- | sys/src/9/bcm/vcore.c | 11 |
2 files changed, 20 insertions, 0 deletions
diff --git a/sys/src/9/bcm/devarch.c b/sys/src/9/bcm/devarch.c index 3ef0cdc08..a9b51c273 100644 --- a/sys/src/9/bcm/devarch.c +++ b/sys/src/9/bcm/devarch.c @@ -156,8 +156,17 @@ cputyperead(Chan*, void *a, long n, vlong offset) return readstr(offset, a, n, str); } +static long +cputempread(Chan*, void *a, long n, vlong offset) +{ + char str[128]; + snprint(str, sizeof str, "%d±%d\n", gettemp(0) / 1000, 1); + return readstr(offset, a, n, str); +} + void archinit(void) { addarchfile("cputype", 0444, cputyperead, nil); + addarchfile("cputemp", 0444, cputempread, nil); } diff --git a/sys/src/9/bcm/vcore.c b/sys/src/9/bcm/vcore.c index 8ee811f8b..d4d52d6dc 100644 --- a/sys/src/9/bcm/vcore.c +++ b/sys/src/9/bcm/vcore.c @@ -288,3 +288,14 @@ getclkrate(int clkid) return 0; return buf[1]; } + +uint +gettemp(int tempid) +{ + u32int buf[2]; + buf[0] = tempid; + if(vcreq(0x00030006, buf, sizeof(buf[0]), sizeof(buf)) != sizeof buf) + return 0; + + return buf[1]; +} |
