]> xenbits.xensource.com Git - people/royger/xen.git/commitdiff
x86/vRTC: minor adjustment to reads from index port
authorJan Beulich <jbeulich@suse.com>
Thu, 2 Nov 2023 09:42:02 +0000 (10:42 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 2 Nov 2023 09:42:02 +0000 (10:42 +0100)
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>
xen/arch/x86/hvm/rtc.c

index 206b4296e9b77159aed63748f2350a5d1b87df3e..853ead5e800976311d3f8b96856b024478103945 100644 (file)
@@ -646,14 +646,11 @@ static int update_in_progress(RTCState *s)
     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 )
@@ -715,9 +712,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;
     }