diff --git a/src/arch/arm/kvm/base_cpu.cc b/src/arch/arm/kvm/base_cpu.cc
index d7df280..524b410 100644
--- a/src/arch/arm/kvm/base_cpu.cc
+++ b/src/arch/arm/kvm/base_cpu.cc
@@ -201,10 +201,10 @@
 
         // Request the actual register list now that we know how many
         // register we need to allocate space for.
-        std::unique_ptr<struct kvm_reg_list> regs;
-        const size_t size(sizeof(struct kvm_reg_list) +
+        std::unique_ptr<kvm_reg_list> regs;
+        const size_t size(sizeof(kvm_reg_list) +
                           regs_probe.n * sizeof(uint64_t));
-        regs.reset((struct kvm_reg_list *)operator new(size));
+        regs.reset((kvm_reg_list *)operator new(size));
         regs->n = regs_probe.n;
         if (!getRegList(*regs))
             panic("Failed to determine register list size.\n");
@@ -223,7 +223,7 @@
 }
 
 bool
-BaseArmKvmCPU::getRegList(struct kvm_reg_list &regs) const
+BaseArmKvmCPU::getRegList(kvm_reg_list &regs) const
 {
     if (ioctl(KVM_GET_REG_LIST, (void *)&regs) == -1) {
         if (errno == E2BIG) {
diff --git a/src/arch/arm/kvm/base_cpu.hh b/src/arch/arm/kvm/base_cpu.hh
index 81e8596..ec9e5ad 100644
--- a/src/arch/arm/kvm/base_cpu.hh
+++ b/src/arch/arm/kvm/base_cpu.hh
@@ -43,6 +43,8 @@
 #include "cpu/kvm/base.hh"
 #include "dev/arm/base_gic.hh"
 
+struct kvm_reg_list;
+
 namespace gem5
 {
 
@@ -112,7 +114,7 @@
     void kvmArmVCpuInit(const struct kvm_vcpu_init &init);
 
   private:
-    std::unique_ptr<struct kvm_reg_list> tryGetRegList(uint64_t nelem) const;
+    std::unique_ptr<kvm_reg_list> tryGetRegList(uint64_t nelem) const;
 
     /**
      * Get a list of registers supported by getOneReg() and setOneReg().
@@ -121,7 +123,7 @@
      * is too small to hold the complete register list (the required
      * size is written to regs.n in this case). True on success.
      */
-    bool getRegList(struct kvm_reg_list &regs) const;
+    bool getRegList(kvm_reg_list &regs) const;
 
     /**
      * Cached copy of the list of registers supported by KVM
