[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 for 5.0 0/6] linux-user: Add support for real time clock ioctl
From: |
Filip Bozuta |
Subject: |
[PATCH v2 for 5.0 0/6] linux-user: Add support for real time clock ioctls |
Date: |
Thu, 14 Nov 2019 16:13:36 +0100 |
Add ioctls for all RTC features that are currently supported in linux kernel.
This series covers following iocts:
* RTC_AIE_ON
* RTC_AIE_OFF
* RTC_UIE_ON
* RTC_UIE_OFF
* RTC_PIE_ON
* RTC_PIE_OFF
* RTC_WIE_ON
* RTC_WIE_OFF
* RTC_ALM_SET
* RTC_ALM_READ
* RTC_RD_TIME
* RTC_SET_TIME
* RTC_IRQP_READ
* RTC_IRQP_SET
* RTC_EPOCH_READ
* RTC_EPOCH_SET
* RTC_WKALM_SET
* RTC_WKALM_RD
* RTC_PLL_GET
* RTC_PLL_SET
* RTC_VL_READ
* RTC_VL_CLR
The functionalities of individual ioctls were described in this series
patch commit messages.
Testing method:
Mini test programs were written for each ioctl. Those programs were
compiled (sometimes using cross-compilers) for the following
architectures:
* Intel 64-bit (little endian)
* Power pc 32-bit (big endian)
* Power pc 64-bit (big endian)
The corresponding native programs were executed without using
QEMU on following hosts:
* Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz
*.7447A, (ppc32 host)
All applicable compiled programs were in turn executed through QEMU
and the results obtained were the same ones gotten for native
execution.
Example of a test program:
For ioctl RTC_RD_TIME we have used the following test program:
#include <stdio.h>
#include <stdlib.h>
#include <linux/rtc.h>
#include <fcntl.h>
#include <linux/input.h>
#include <sys/types.h>
#include <unistd.h>
#define ERROR -1
int main()
{
int fd = open("/dev/rtc", O_RDWR | O_NONBLOCK);
if(fd == ERROR)
{
perror("open");
return -1;
}
struct rtc_time cur_time;
if(ioctl(fd, RTC_RD_TIME, &cur_time) < 0)
{
perror("ioctl");
return -1;
}
printf("Second: %d, Minute: %d, Hour: %d, Day: %d, Month: %d, Year:
%d,",
cur_time.tm_sec, cur_time.tm_min, cur_time.tm_hour,
cur_time.tm_mday, cur_time.tm_mon, cur_time.tm_year);
return 0;
}
Filip Bozuta (6):
linux-user: Add support for enable/disable RTC features using ioctls
linux-user: Add support for read/set RTC time and alarm using ioctls
linux-user: Add support for read/set RTC periodic interrupt and epoch
using ioctls
linux-user: Add support for get/set RTC wakeup alarm using ioctls
linux-user: Add support for get/set RTC PLL correction using ioctls
linux-user: Add support for read/clear RTC voltage low detector using
ioctls
linux-user/ioctls.h | 23 +++++++++++++++++++++++
linux-user/syscall.c | 1 +
linux-user/syscall_defs.h | 36 ++++++++++++++++++++++++++++++++++++
linux-user/syscall_types.h | 25 +++++++++++++++++++++++++
4 files changed, 85 insertions(+)
--
2.7.4
- [PATCH v2 for 5.0 0/6] linux-user: Add support for real time clock ioctls,
Filip Bozuta <=
- [PATCH v2 for 5.0 4/6] linux-user: Add support for get/set RTC wakeup alarm using ioctls, Filip Bozuta, 2019/11/14
- [PATCH v2 for 5.0 1/6] linux-user: Add support for enable/disable RTC features using ioctls, Filip Bozuta, 2019/11/14
- [PATCH v2 for 5.0 2/6] linux-user: Add support for read/set RTC time and alarm using ioctls, Filip Bozuta, 2019/11/14
- [PATCH v2 for 5.0 5/6] linux-user: Add support for get/set RTC PLL correction using ioctls, Filip Bozuta, 2019/11/14
- [PATCH v2 for 5.0 3/6] linux-user: Add support for read/set RTC periodic interrupt and epoch using ioctls, Filip Bozuta, 2019/11/14
- [PATCH v2 for 5.0 6/6] linux-user: Add support for read/clear RTC voltage low detector using ioctls, Filip Bozuta, 2019/11/14