All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Vivier <laurent@vivier.eu>
To: Filip Bozuta <Filip.Bozuta@rt-rk.com>, qemu-devel@nongnu.org
Cc: riku.voipio@iki.fi
Subject: Re: [PATCH 01/12] linux-user: Add support for enabling/disabling RTC features using ioctls
Date: Tue, 14 Jan 2020 13:28:28 +0100	[thread overview]
Message-ID: <ff630e08-f5e2-d974-39c8-8607b1ed9760@vivier.eu> (raw)
In-Reply-To: <1578574763-8327-2-git-send-email-Filip.Bozuta@rt-rk.com>

Le 09/01/2020 à 13:59, Filip Bozuta a écrit :
> This patch implements functionalities of following ioctls:
> 
> RTC_AIE_ON, RTC_AIE_OFF - Alarm interrupt enabling on/off
> 
>     Enable or disable the alarm interrupt, for RTCs that support
>     alarms.  The third ioctl's argument is ignored.
> 
> RTC_UIE_ON, RTC_UIE_OFF - Update interrupt enabling on/off
> 
>     Enable or disable the interrupt on every clock update, for
>     RTCs that support this once-per-second interrupt.  The third
>     ioctl's argument is ignored.
> 
> RTC_PIE_ON, RTC_PIE_OFF - Periodic interrupt enabling on/off
> 
>     Enable or disable the periodic interrupt, for RTCs that sup‐
>     port these periodic interrupts.  The third ioctl's argument
>     is ignored.  Only a privileged process (i.e., one having the
>     CAP_SYS_RESOURCE capability) can enable the periodic interrupt
>     if the frequency is currently set above the value specified in
>     /proc/sys/dev/rtc/max-user-freq.
> 
> RTC_WIE_ON, RTC_WIE_OFF - Watchdog interrupt enabling on/off
> 
>     Enable or disable the Watchdog interrupt, for RTCs that sup-
>     port this Watchdog interrupt. The third ioctl's argument is
>     ignored.
> 
> Implementation notes:
> 
>     Since all of involved ioctls have NULL as their third argument,
>     their implementation was straightforward.
> 
>     The line '#include <linux/rtc.h>' was added to recognize
>     preprocessor definitions for these ioctls. This needs to be
>     done only once in this series of commits. Also, the content
>     of this file (with respect to ioctl definitions) remained
>     unchanged for a long time, therefore there is no need to
>     worry about supporting older Linux kernel version.
> 
> Signed-off-by: Filip Bozuta <Filip.Bozuta@rt-rk.com>
> ---
>  linux-user/ioctls.h       |  9 +++++++++
>  linux-user/syscall.c      |  1 +
>  linux-user/syscall_defs.h | 10 ++++++++++
>  3 files changed, 20 insertions(+)
> 
> diff --git a/linux-user/ioctls.h b/linux-user/ioctls.h
> index c6b9d6a..97741c7 100644
> --- a/linux-user/ioctls.h
> +++ b/linux-user/ioctls.h
> @@ -69,6 +69,15 @@
>       IOCTL(KDSETLED, 0, TYPE_INT)
>       IOCTL_SPECIAL(KDSIGACCEPT, 0, do_ioctl_kdsigaccept, TYPE_INT)
>  
> +     IOCTL(RTC_AIE_ON, 0, TYPE_NULL)
> +     IOCTL(RTC_AIE_OFF, 0, TYPE_NULL)
> +     IOCTL(RTC_UIE_ON, 0, TYPE_NULL)
> +     IOCTL(RTC_UIE_OFF, 0, TYPE_NULL)
> +     IOCTL(RTC_PIE_ON, 0, TYPE_NULL)
> +     IOCTL(RTC_PIE_OFF, 0, TYPE_NULL)
> +     IOCTL(RTC_WIE_ON, 0, TYPE_NULL)
> +     IOCTL(RTC_WIE_OFF, 0, TYPE_NULL)
> +
>       IOCTL(BLKROSET, IOC_W, MK_PTR(TYPE_INT))
>       IOCTL(BLKROGET, IOC_R, MK_PTR(TYPE_INT))
>       IOCTL(BLKRRPART, 0, TYPE_NULL)
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index ce399a5..74c3c08 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -107,6 +107,7 @@
>  #include <netpacket/packet.h>
>  #include <linux/netlink.h>
>  #include <linux/if_alg.h>
> +#include <linux/rtc.h>
>  #include "linux_loop.h"
>  #include "uname.h"
>  
> diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h
> index 98c2119..f91579a 100644
> --- a/linux-user/syscall_defs.h
> +++ b/linux-user/syscall_defs.h
> @@ -763,6 +763,16 @@ struct target_pollfd {
>  #define TARGET_KDSETLED        0x4B32	/* set led state [lights, not flags] */
>  #define TARGET_KDSIGACCEPT     0x4B4E
>  
> +/* real time clock ioctls */
> +#define TARGET_RTC_AIE_ON           TARGET_IO('p', 0x01)
> +#define TARGET_RTC_AIE_OFF          TARGET_IO('p', 0x02)
> +#define TARGET_RTC_UIE_ON           TARGET_IO('p', 0x03)
> +#define TARGET_RTC_UIE_OFF          TARGET_IO('p', 0x04)
> +#define TARGET_RTC_PIE_ON           TARGET_IO('p', 0x05)
> +#define TARGET_RTC_PIE_OFF          TARGET_IO('p', 0x06)
> +#define TARGET_RTC_WIE_ON           TARGET_IO('p', 0x0f)
> +#define TARGET_RTC_WIE_OFF          TARGET_IO('p', 0x10)
> +
>  #if defined(TARGET_ALPHA) || defined(TARGET_MIPS) || defined(TARGET_SH4) ||    \
>         defined(TARGET_XTENSA)
>  #define TARGET_FIOGETOWN       TARGET_IOR('f', 123, int)
> 

Reviewed-by: Laurent Vivier <laurent@vivier.eu>


  reply	other threads:[~2020-01-14 12:29 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-01-09 12:59 [PATCH 00/12] linux-user: Add support for real time clock and Filip Bozuta
2020-01-09 12:59 ` [PATCH 01/12] linux-user: Add support for enabling/disabling RTC features using ioctls Filip Bozuta
2020-01-14 12:28   ` Laurent Vivier [this message]
2020-01-09 12:59 ` [PATCH 02/12] linux-user: Add support for getting/setting RTC time and alarm " Filip Bozuta
2020-01-14 12:30   ` Laurent Vivier
2020-01-09 12:59 ` [PATCH 03/12] linux-user: Add support for getting/setting RTC periodic interrupt and epoch " Filip Bozuta
2020-01-14 12:36   ` Laurent Vivier
2020-01-09 12:59 ` [PATCH 04/12] linux-user: Add support for getting/setting RTC wakeup alarm " Filip Bozuta
2020-01-14 12:37   ` Laurent Vivier
2020-01-09 12:59 ` [PATCH 05/12] linux-user: Add support for getting/setting RTC PLL correction " Filip Bozuta
2020-01-14 12:39   ` Laurent Vivier
2020-01-09 12:59 ` [PATCH 06/12] linux-user: Add support for read/clear RTC voltage low detector " Filip Bozuta
2020-01-14 12:40   ` Laurent Vivier
2020-01-09 12:59 ` [PATCH 07/12] linux-user: Add support for getting alsa timer version and id Filip Bozuta
2020-01-14 12:42   ` Laurent Vivier
2020-01-09 12:59 ` [PATCH 08/12] linux-user: Add support for setting alsa timer enhanced read using ioctl Filip Bozuta
2020-01-14 12:44   ` Laurent Vivier
2020-01-09 12:59 ` [PATCH 09/12] linux-user: Add support for getting/setting specified alsa timer parameters using ioctls Filip Bozuta
2020-01-14 12:52   ` Laurent Vivier
2020-01-09 12:59 ` [PATCH 10/12] linux-user: Add support for selecting alsa timer using ioctl Filip Bozuta
2020-01-14 12:53   ` Laurent Vivier
2020-01-09 12:59 ` [PATCH 11/12] linux-user: Add support for getting/setting selected alsa timer parameters using ioctls Filip Bozuta
2020-01-14 13:09   ` Laurent Vivier
2020-01-09 12:59 ` [PATCH 12/12] linux-user: Add support for selected alsa timer instructions " Filip Bozuta
2020-01-14 12:57   ` Laurent Vivier
2020-01-14 12:39 ` [PATCH 00/12] linux-user: Add support for real time clock and Philippe Mathieu-Daudé
2020-01-14 12:47   ` Laurent Vivier
2020-01-15 15:53 Filip Bozuta
2020-01-15 15:53 ` [PATCH 01/12] linux-user: Add support for enabling/disabling RTC features using ioctls Filip Bozuta

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ff630e08-f5e2-d974-39c8-8607b1ed9760@vivier.eu \
    --to=laurent@vivier.eu \
    --cc=Filip.Bozuta@rt-rk.com \
    --cc=qemu-devel@nongnu.org \
    --cc=riku.voipio@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.