]> xenbits.xensource.com Git - xen.git/commitdiff
microcode/intel: use union to get fields without shifting and masking
authorChao Gao <chao.gao@intel.com>
Mon, 11 Mar 2019 07:57:26 +0000 (15:57 +0800)
committerWei Liu <wei.liu2@citrix.com>
Tue, 12 Mar 2019 18:14:25 +0000 (18:14 +0000)
No functional change.

Signed-off-by: Chao Gao <chao.gao@intel.com>
Reviewed-by: Roger Pau Monné <roger.pau@citrix.com>
Acked-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/microcode_intel.c

index 9657575c296c18a45fa9232cf909ff5940b82e50..22fdecae22a682029eca391fea1b1aaf5aabc891 100644 (file)
 struct microcode_header_intel {
     unsigned int hdrver;
     unsigned int rev;
-    unsigned int date;
+    union {
+        struct {
+            uint16_t year;
+            uint8_t day;
+            uint8_t month;
+        };
+        unsigned int date;
+    };
     unsigned int sig;
     unsigned int cksum;
     unsigned int ldrver;
@@ -316,9 +323,9 @@ static int apply_microcode(unsigned int cpu)
     printk(KERN_INFO "microcode: CPU%d updated from revision "
            "%#x to %#x, date = %04x-%02x-%02x \n",
            cpu_num, uci->cpu_sig.rev, val[1],
-           uci->mc.mc_intel->hdr.date & 0xffff,
-           uci->mc.mc_intel->hdr.date >> 24,
-           (uci->mc.mc_intel->hdr.date >> 16) & 0xff);
+           uci->mc.mc_intel->hdr.year,
+           uci->mc.mc_intel->hdr.month,
+           uci->mc.mc_intel->hdr.day);
     uci->cpu_sig.rev = val[1];
 
     return 0;