Fix tasking, PCI
diff --git a/src/kernel/main.c b/src/kernel/main.c
index fc9ee22..bc40ff8 100644
--- a/src/kernel/main.c
+++ b/src/kernel/main.c
@@ -74,46 +74,28 @@
 	}
 #endif
 
-	asm volatile("sti");
+	asm("sti");
 
 	kprintf("initializing tasks\n");
 	init_tasks();
 	kprintf("\ndone initializing tasks\n");
 
-//#ifdef TEST_THREADS
+#ifdef TEST_THREADS
 	spawn_thread(other_thread, NULL);
 
 	greet();
-//#endif
+#endif
 
 #ifdef TEST_ATA_PIO
 	test_ata_pio();
 #endif
 
 #ifdef TEST_PCI
-	kprintf("Enumerating PCI devices:\n");
-	for (int bus = 0; bus < 0xff; bus++)
-	{
-		for (int slot = 0; slot < 32; slot++)
-		{
-			for (int func = 0; func < 8; func++)
-			{
-				uint vendor;
-
-				struct pci_vendor *v = pci_check_vendor(bus, slot, func, &vendor);
-
-				if (vendor != ~0)
-				{
-					kprintf("%d %d %d --- 0x%x --- %s\n", bus, slot, func, vendor, v->name);
-				}
-			}
-		}
-	}
+	pci_print_devices();
 #endif
 
 	while (true)
-		asm volatile("hlt");
-
+		asm("hlt");
 
 	return 0xCAFEBABE;
 }