diff --git a/generator/sections/gen-section-ccix-per.c b/generator/sections/gen-section-ccix-per.c
index a61983b..074fd0d 100644
--- a/generator/sections/gen-section-ccix-per.c
+++ b/generator/sections/gen-section-ccix-per.c
@@ -28,6 +28,10 @@
     UINT16* reserved = (UINT16*)(bytes + 14);
     *reserved = 0; //Reserved bytes 14-15.
 
+    //Set expected values.
+    UINT32* length = (UINT32*)bytes;
+    *length = size;
+
     //Set return values, exit.
     *location = bytes;
     return size;
diff --git a/generator/sections/gen-section-ia32x64.c b/generator/sections/gen-section-ia32x64.c
index 7412ca3..a9b41e4 100644
--- a/generator/sections/gen-section-ia32x64.c
+++ b/generator/sections/gen-section-ia32x64.c
@@ -75,25 +75,25 @@
     {
         //Cache
         case 0:
-            memcpy(guid, &gEfiIa32x64ErrorTypeCacheCheckGuid, sizeof(guid));
+            memcpy(guid, &gEfiIa32x64ErrorTypeCacheCheckGuid, sizeof(EFI_GUID));
             memset(error_structure + 30, 0, 34);
             break;
 
         //TLB
         case 1:
-            memcpy(guid, &gEfiIa32x64ErrorTypeTlbCheckGuid, sizeof(guid));
+            memcpy(guid, &gEfiIa32x64ErrorTypeTlbCheckGuid, sizeof(EFI_GUID));
             memset(error_structure + 30, 0, 34);
             break;
 
         //Bus
         case 2:
-            memcpy(guid, &gEfiIa32x64ErrorTypeBusCheckGuid, sizeof(guid));
+            memcpy(guid, &gEfiIa32x64ErrorTypeBusCheckGuid, sizeof(EFI_GUID));
             memset(error_structure + 35, 0, 29);
             break;
 
         //MS
         case 3:
-            memcpy(guid, &gEfiIa32x64ErrorTypeMsCheckGuid, sizeof(guid));
+            memcpy(guid, &gEfiIa32x64ErrorTypeMsCheckGuid, sizeof(EFI_GUID));
             memset(error_structure + 24, 0, 38);
             break;
     }
diff --git a/generator/sections/gen-section-pci-dev.c b/generator/sections/gen-section-pci-dev.c
index 1882d6c..f6a8bcc 100644
--- a/generator/sections/gen-section-pci-dev.c
+++ b/generator/sections/gen-section-pci-dev.c
@@ -27,6 +27,12 @@
     *validation &= 0b11111; //Validation 5-63
     for (int i=0; i<5; i++)
         *(bytes + 27 + i) = 0; //Bytes 11-15 of ID info.
+        
+    //Set expected values.
+    UINT32* memory_number_field = (UINT32*)(bytes + 32);
+    UINT32* io_number_field = (UINT32*)(bytes + 36);
+    *memory_number_field = num_memory_pairs;
+    *io_number_field = num_io_pairs;
 
     //Fix error status.
     create_valid_error_section(bytes + 8);
