|
@@ -97,6 +97,33 @@ hpet_open_close(int argc, const char **argv)
|
|
void
|
|
void
|
|
hpet_info(int argc, const char **argv)
|
|
hpet_info(int argc, const char **argv)
|
|
{
|
|
{
|
|
|
|
+ struct hpet_info info;
|
|
|
|
+ int fd;
|
|
|
|
+
|
|
|
|
+ if (argc != 1) {
|
|
|
|
+ fprintf(stderr, "hpet_info: device-name\n");
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fd = open(argv[0], O_RDONLY);
|
|
|
|
+ if (fd < 0) {
|
|
|
|
+ fprintf(stderr, "hpet_info: open of %s failed\n", argv[0]);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (ioctl(fd, HPET_INFO, &info) < 0) {
|
|
|
|
+ fprintf(stderr, "hpet_info: failed to get info\n");
|
|
|
|
+ goto out;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ fprintf(stderr, "hpet_info: hi_irqfreq 0x%lx hi_flags 0x%lx ",
|
|
|
|
+ info.hi_ireqfreq, info.hi_flags);
|
|
|
|
+ fprintf(stderr, "hi_hpet %d hi_timer %d\n",
|
|
|
|
+ info.hi_hpet, info.hi_timer);
|
|
|
|
+
|
|
|
|
+out:
|
|
|
|
+ close(fd);
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
|
|
|
|
void
|
|
void
|