diff --git a/src/load.c b/src/load.c
index 9779e2e..8bf7604 100644
--- a/src/load.c
+++ b/src/load.c
@@ -185,8 +185,10 @@
 	for (i = 0; i < mem_ranges_count; ++i) {
 		if (size_to_find <=
 		    pa_addr(mem_ranges[i].end) - pa_addr(mem_ranges[i].begin)) {
-			/* This range is big enough, take some of it from the
-			 * end and reduce its size accordingly. */
+			/*
+			 * This range is big enough, take some of it from the
+			 * end and reduce its size accordingly.
+			 */
 			*found_end = mem_ranges[i].end;
 			*found_begin = pa_init(pa_addr(mem_ranges[i].end) -
 					       size_to_find);
@@ -357,11 +359,13 @@
 		vm_start_vcpu(vm, 0, secondary_entry, 0);
 	}
 
-	/* Add newly reserved areas to update params by looking at the
+	/*
+	 * Add newly reserved areas to update params by looking at the
 	 * difference between the available ranges from the original params and
 	 * the updated mem_ranges_available. We assume that the number and order
 	 * of available ranges is the same, i.e. we don't remove any ranges
-	 * above only make them smaller. */
+	 * above only make them smaller.
+	 */
 	return update_reserved_ranges(update, params->mem_ranges,
 				      mem_ranges_available,
 				      params->mem_ranges_count);
diff --git a/src/main.c b/src/main.c
index eb233d9..734caf5 100644
--- a/src/main.c
+++ b/src/main.c
@@ -105,10 +105,12 @@
 		panic("unable to load primary VM");
 	}
 
+	/*
+	 * load_secondary will add regions assigned to the secondary VMs from
+	 * mem_ranges to reserved_ranges.
+	 */
 	update.initrd_begin = pa_from_va(va_from_ptr(primary_initrd.next));
 	update.initrd_end = pa_from_va(va_from_ptr(primary_initrd.limit));
-	/* load_secondary will add regions assigned to the secondary VMs from
-	 * mem_ranges to reserved_ranges. */
 	update.reserved_ranges_count = 0;
 	if (!load_secondary(&cpio, &params, &update)) {
 		panic("unable to load secondary VMs");
diff --git a/src/mm.c b/src/mm.c
index 8af98a4..14bbac7 100644
--- a/src/mm.c
+++ b/src/mm.c
@@ -34,8 +34,10 @@
 /* The type of addresses stored in the page table. */
 typedef uintvaddr_t ptable_addr_t;
 
-/* For stage 2, the input is an intermediate physical addresses rather than a
- * virtual address so: */
+/*
+ * For stage 2, the input is an intermediate physical addresses rather than a
+ * virtual address so:
+ */
 static_assert(
 	sizeof(ptable_addr_t) == sizeof(uintpaddr_t),
 	"Currently, the same code manages the stage 1 and stage 2 page tables "
