diff --git a/course/02-KVM.md b/course/02-KVM.md
index df6a0361baef257731df83034c9eb18056d6c2d7..0349bf906aa347d730faedccda9c27eb2b824e6b 100644
--- a/course/02-KVM.md
+++ b/course/02-KVM.md
@@ -737,8 +737,8 @@ How does VMM retrieve an hypercall's parameters?
 ## KVM_EXIT_IO: retrieving data written by the guest
 
 \footnotesize
-- Guest wrote a value (8, 16, or 32 bits) to a PMIO address (I/O port)
-- VMM retrieves: value, address, size written (8, 16, 32 bits)
+- Guest wrote a value (8, 16, 32, 64 bits) to a PMIO address (I/O port)
+- VMM retrieves: value, address, size written (8, 16, 32, 64 bits)
 
 ```{.c .tiny}
 if (run->io.direction == KVM_EXIT_IO_OUT) {  // See struct kvm_run in "(6) Create a vCPU"
@@ -766,8 +766,8 @@ if (run->io.direction == KVM_EXIT_IO_OUT) {  // See struct kvm_run in "(6) Creat
 ## KVM_EXIT_MMIO: retrieving data written by the guest
 
 \footnotesize
-- Guest wrote a value (8, 16, or 32 bits) to a MMIO address
-- VMM retrieves: value, address, size written (8, 16, 32 bits)
+- Guest wrote a value (8, 16, 32, 64 bits) to a MMIO address
+- VMM retrieves: value, address, size written (8, 16, 32, 64 bits)
 
 ```{.c .tiny}
 if (run->mmio.is_write) {  // See struct kvm_run in "(6) Create a vCPU"
@@ -798,8 +798,8 @@ if (run->mmio.is_write) {  // See struct kvm_run in "(6) Create a vCPU"
 ## KVM_EXIT_IO: injecting data into the guest
 
 \footnotesize
-- Guest read a value (8, 16, or 32 bits) from a PMIO address (I/O port)
-- VMM retrieves: address, size read (8, 16, 32 bits)
+- Guest read a value (8, 16, 32, 64 bits) from a PMIO address (I/O port)
+- VMM retrieves: address, size read (8, 16, 32, 64 bits)
 - VMM injects a specific value (the one read by the guest)
  
 ```{.c .tiny}
@@ -807,18 +807,18 @@ if (run->io.direction == KVM_EXIT_IO_IN) {  // See struct kvm_run
   uint8_t *addr = (uint8_t *)run + run->io.data_offset;
   switch (run->io.size) {
     case 1: { // Guest is reading 8 bits from the port
-      *addr = 0x12;  // 8-bit example value injected into the guest
+      *addr = 42;  // 8-bit example value injected into the guest
       } break;
     case 2: { // Guest is reading 16 bits from the port
-      *((uint16_t *)addr) = 0x1234;  // 16-bit example value injected into the guest
+      *((uint16_t *)addr) = 42; // 16-bit example value injected into the guest
       } break;
     case 4: { // Guest is reading 32 bits from the port
-      *((uint32_t *)addr) = 0x12345678;  // 32-bit example value injected into the guest
+      *((uint32_t *)addr) = 42; // 32-bit example value injected into the guest
       } break;
     default:
       fprintf(stderr, "Unsupported size in KVM_EXIT_IO\n");
   }
-  printf("PMIO guest read: size=%d port=0x%x [value injected by VMM=0x%x]\n", run->io.size, run->io.port, injected_val);
+  printf("PMIO guest read: port=0x%x size=%d [value injected by VMM=%d]\n", run->io.port, run->io.size, 42);
 }
 ```
 
@@ -826,8 +826,8 @@ if (run->io.direction == KVM_EXIT_IO_IN) {  // See struct kvm_run
 ## KVM_EXIT_MMIO: injecting data into the guest
 
 \footnotesize
-- Guest read a value (8, 16, or 32 bits) from a MMIO address
-- VMM retrieves: address, size read (8, 16, 32 bits)
+- Guest read a value (8, 16, 32, 64 bits) from a MMIO address
+- VMM retrieves: address, size read (8, 16, 32, 64 bits)
 - VMM injects a specific value (the one read by the guest)
 
 ```{.c .tiny}
@@ -836,20 +836,20 @@ if (!run->mmio.is_write) {  // See struct kvm_run
   switch (bytes_read) {
     case 1: { // Guest is reading 8 bits
       uint8_t *addr = (uint8_t *)run->mmio.data;
-      *addr = 0x12;  // 8-bit example value injected into the guest
+      *addr = 42;  // 8-bit example value injected into the guest
       } break;
     case 2: { // Guest is reading 16 bits
       uint16_t *addr = (uint16_t *)run->mmio.data;
-      *addr = 0x1234;  // 16-bit example value injected into the guest
+      *addr = 42; // 16-bit example value injected into the guest
       } break;
     case 4: { // Guest is reading 32 bits
       uint32_t *addr = (uint32_t *)run->mmio.data;
-      *addr = 0x12345678;  // 32-bit example value injected into the guest
+      *addr = 42; // 32-bit example value injected into the guest
       } break;
     default:
       fprintf(stderr, "Unsupported size in KVM_EXIT_MMIO\n");
   }
-  fprintf(stderr, "MMIO guest read: addr=0x%llx injected=0x%x len=%d\n", run->mmio.phys_addr, injected_val, bytes_read);
+  printf("MMIO guest read: addr=0x%x size=%d [value injected by VMM=%d]\n", run->mmio.phys_addr, bytes_read, 42);
 }
 ```
 
@@ -942,7 +942,7 @@ outb(0x3C5, 0x0F);
 - the operation to perform
 - the address written to/read from
 - the expected written value or value to inject
-- the size of the operation (8, 16, or 32 bits)
+- the size of the operation (8, 16, 32, 64 bits)
 - possibly a custom user function that would be executed at the beginning or end of the state
 
 [//]: # ----------------------------------------------------------------