Revision b5a23ad4 vl.c
b/vl.c | ||
---|---|---|
1305 | 1305 |
static int rtc_start_timer(struct qemu_alarm_timer *t) |
1306 | 1306 |
{ |
1307 | 1307 |
int rtc_fd; |
1308 |
unsigned long current_rtc_freq = 0; |
|
1308 | 1309 |
|
1309 | 1310 |
TFR(rtc_fd = open("/dev/rtc", O_RDONLY)); |
1310 | 1311 |
if (rtc_fd < 0) |
1311 | 1312 |
return -1; |
1312 |
if (ioctl(rtc_fd, RTC_IRQP_SET, RTC_FREQ) < 0) { |
|
1313 |
ioctl(rtc_fd, RTC_IRQP_READ, ¤t_rtc_freq); |
|
1314 |
if (current_rtc_freq != RTC_FREQ && |
|
1315 |
ioctl(rtc_fd, RTC_IRQP_SET, RTC_FREQ) < 0) { |
|
1313 | 1316 |
fprintf(stderr, "Could not configure '/dev/rtc' to have a 1024 Hz timer. This is not a fatal\n" |
1314 | 1317 |
"error, but for better emulation accuracy either use a 2.6 host Linux kernel or\n" |
1315 | 1318 |
"type 'echo 1024 > /proc/sys/dev/rtc/max-user-freq' as root.\n"); |
Also available in: Unified diff