From 9c52f4d9d453e1fa4511478dcb09af03e4c37dfb Mon Sep 17 00:00:00 2001 From: Matthew Veety Date: Fri, 13 Dec 2013 02:20:29 -0500 Subject: Added in /dev/cputemp for bcm kernel (Thanks Krystian!) --- sys/src/9/bcm/devarch.c | 9 +++++++++ sys/src/9/bcm/vcore.c | 11 +++++++++++ 2 files changed, 20 insertions(+) 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]; +} -- cgit v1.2.3