diff mbox series

x86/vRTC: minor adjustment to reads from index port

Message ID 39903e79-af15-9017-e470-65124bd60847@suse.com (mailing list archive)
State New, archived
Headers show
Series x86/vRTC: minor adjustment to reads from index port | expand

Commit Message

Jan Beulich May 11, 2023, 11:51 a.m. UTC
Whether to handle this shouldn't depend on the present value of the
index register. Since the handling is done outside of the lock anyway,
pull it out into the sole caller and drop the no longer needed function
parameter.

Signed-off-by: Jan Beulich <jbeulich@suse.com>

Comments

Roger Pau Monné Oct. 25, 2023, 11:36 a.m. UTC | #1
On Thu, May 11, 2023 at 01:51:06PM +0200, Jan Beulich wrote:
> Whether to handle this shouldn't depend on the present value of the
> index register. Since the handling is done outside of the lock anyway,
> pull it out into the sole caller and drop the no longer needed function
> parameter.
> 
> Signed-off-by: Jan Beulich <jbeulich@suse.com>

Acked-by: Roger Pau Monné <roger.pau@citrix.com>

Thanks, Roger.
diff mbox series

Patch

--- a/xen/arch/x86/hvm/rtc.c
+++ b/xen/arch/x86/hvm/rtc.c
@@ -645,14 +645,11 @@  static int update_in_progress(RTCState *
     return 0;
 }
 
-static uint32_t rtc_ioport_read(RTCState *s, uint32_t addr)
+static uint32_t rtc_ioport_read(RTCState *s)
 {
     int ret;
     struct domain *d = vrtc_domain(s);
 
-    if ( (addr & 1) == 0 )
-        return 0xff;
-
     spin_lock(&s->lock);
 
     switch ( s->hw.cmos_index )
@@ -714,9 +711,14 @@  static int cf_check handle_rtc_io(
         if ( rtc_ioport_write(vrtc, port, (uint8_t)*val) )
             return X86EMUL_OKAY;
     }
+    else if ( !(port & 1) )
+    {
+        *val = 0xff;
+        return X86EMUL_OKAY;
+    }
     else if ( vrtc->hw.cmos_index < RTC_CMOS_SIZE )
     {
-        *val = rtc_ioport_read(vrtc, port);
+        *val = rtc_ioport_read(vrtc);
         return X86EMUL_OKAY;
     }