Index: kernel/arch/ia32/src/smp/mps.c
===================================================================
--- kernel/arch/ia32/src/smp/mps.c	(revision 3ee8a07528aa466b40a362672714a05e936d396e)
+++ kernel/arch/ia32/src/smp/mps.c	(revision 4bb31f7fb268426f499400dc8b2d9f6c6d3aaf65)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2001-2005 Jakub Jermar
+ * Copyright (c) 2008 Jakub Jermar
  * All rights reserved.
  *
@@ -150,5 +150,5 @@
 	
 	/* count the checksum for the base table */
-	for (i=0,sum=0; i < ct->base_table_length; i++)
+	for (i = 0,sum = 0; i < ct->base_table_length; i++)
 		sum = (uint8_t) (sum + base[i]);
 		
@@ -157,5 +157,5 @@
 		
 	/* count the checksum for the extended table */
-	for (i=0,sum=0; i < ct->ext_table_length; i++)
+	for (i = 0, sum = 0; i < ct->ext_table_length; i++)
 		sum = (uint8_t) (sum + ext[i]);
 		
@@ -179,5 +179,6 @@
 	for (i = 0; i < 2; i++) {
 		for (j = 0; j < length[i]; j += 16) {
-			if (*((uint32_t *) &addr[i][j]) == FS_SIGNATURE && mps_fs_check(&addr[i][j])) {
+			if (*((uint32_t *) &addr[i][j]) ==
+			    FS_SIGNATURE && mps_fs_check(&addr[i][j])) {
 				fs = (struct mps_fs *) &addr[i][j];
 				goto fs_found;
@@ -228,53 +229,60 @@
 	cnt = 0;
 	cur = &ct->base_table[0];
-	for (i=0; i < ct->entry_count; i++) {
+	for (i = 0; i < ct->entry_count; i++) {
 		switch (*cur) {
-			/* Processor entry */
-			case 0:	
-				processor_entries = processor_entries ? processor_entries : (struct __processor_entry *) cur;
-				processor_entry_cnt++;
-				cnt += ct_processor_entry((struct __processor_entry *) cur);
-				cur += 20;
-				break;
-
-			/* Bus entry */
-			case 1:
-				bus_entries = bus_entries ? bus_entries : (struct __bus_entry *) cur;
-				bus_entry_cnt++;
-				ct_bus_entry((struct __bus_entry *) cur);
-				cur += 8;
-				break;
+		/* Processor entry */
+		case 0:	
+			processor_entries = processor_entries ?
+			    processor_entries :
+			    (struct __processor_entry *) cur;
+			processor_entry_cnt++;
+			cnt += ct_processor_entry((struct __processor_entry *)
+			    cur);
+			cur += 20;
+			break;
+
+		/* Bus entry */
+		case 1:
+			bus_entries = bus_entries ?
+			    bus_entries : (struct __bus_entry *) cur;
+			bus_entry_cnt++;
+			ct_bus_entry((struct __bus_entry *) cur);
+			cur += 8;
+			break;
 				
-			/* I/O Apic */
-			case 2:
-				io_apic_entries = io_apic_entries ? io_apic_entries : (struct __io_apic_entry *) cur;
+		/* I/O Apic */
+		case 2:
+			io_apic_entries = io_apic_entries ?
+			    io_apic_entries : (struct __io_apic_entry *) cur;
 				io_apic_entry_cnt++;
-				ct_io_apic_entry((struct __io_apic_entry *) cur);
-				cur += 8;
-				break;
+			ct_io_apic_entry((struct __io_apic_entry *) cur);
+			cur += 8;
+			break;
 				
-			/* I/O Interrupt Assignment */
-			case 3:
-				io_intr_entries = io_intr_entries ? io_intr_entries : (struct __io_intr_entry *) cur;
-				io_intr_entry_cnt++;
-				ct_io_intr_entry((struct __io_intr_entry *) cur);
-				cur += 8;
-				break;
-
-			/* Local Interrupt Assignment */
-			case 4:
-				l_intr_entries = l_intr_entries ? l_intr_entries : (struct __l_intr_entry *) cur;
-				l_intr_entry_cnt++;
-				ct_l_intr_entry((struct __l_intr_entry *) cur);
-				cur += 8;
-				break;
-
-			default:
-				/*
-				 * Something is wrong. Fallback to UP mode.
-				 */
-				 
-				printf("%s: ct badness\n", __func__);
-				return 1;
+		/* I/O Interrupt Assignment */
+		case 3:
+			io_intr_entries = io_intr_entries ?
+			    io_intr_entries : (struct __io_intr_entry *) cur;
+			io_intr_entry_cnt++;
+			ct_io_intr_entry((struct __io_intr_entry *) cur);
+			cur += 8;
+			break;
+
+		/* Local Interrupt Assignment */
+		case 4:
+			l_intr_entries = l_intr_entries ?
+			    l_intr_entries : (struct __l_intr_entry *) cur;
+			l_intr_entry_cnt++;
+			ct_l_intr_entry((struct __l_intr_entry *) cur);
+			cur += 8;
+			break;
+
+		default:
+			/*
+			 * Something is wrong. Fallback to UP mode.
+			 */
+
+			printf("%s: ct badness\n", __func__);
+			return 1;
 		}
 	}
@@ -302,8 +310,8 @@
 	 * Ignore processors which are not marked enabled.
 	 */
-	if ((pr->cpu_flags & (1<<0)) == 0)
+	if ((pr->cpu_flags & (1 << 0)) == 0)
 		return 0;
 	
-	apic_id_mask |= (1<<pr->l_apic_id); 
+	apic_id_mask |= (1 << pr->l_apic_id); 
 	return 1;
 }
@@ -342,27 +350,52 @@
 #ifdef MPSCT_VERBOSE
 	switch (iointr->intr_type) {
-	    case 0: printf("INT"); break;
-	    case 1: printf("NMI"); break;
-	    case 2: printf("SMI"); break;
-	    case 3: printf("ExtINT"); break;
-	}
-	putchar(',');
-	switch (iointr->poel&3) {
-	    case 0: printf("bus-like"); break;
-	    case 1: printf("active high"); break;
-	    case 2: printf("reserved"); break;
-	    case 3: printf("active low"); break;
-	}
-	putchar(',');
-	switch ((iointr->poel>>2)&3) {
-	    case 0: printf("bus-like"); break;
-	    case 1: printf("edge-triggered"); break;
-	    case 2: printf("reserved"); break;
-	    case 3: printf("level-triggered"); break;
+	case 0:
+		printf("INT");
+		break;
+	case 1:
+		printf("NMI");
+		break;
+	case 2:
+		printf("SMI");
+		break;
+	case 3:
+		printf("ExtINT");
+		break;
+	}
+	putchar(',');
+	switch (iointr->poel & 3) {
+	case 0:
+		printf("bus-like");
+		break;
+	case 1:
+		printf("active high");
+		break;
+	case 2:
+		printf("reserved");
+		break;
+	case 3:
+		printf("active low");
+		break;
+	}
+	putchar(',');
+	switch ((iointr->poel >> 2) & 3) {
+	case 0:
+		printf("bus-like");
+		break;
+	case 1:
+		printf("edge-triggered");
+		break;
+	case 2:
+		printf("reserved");
+		break;
+	case 3:
+		printf("level-triggered");
+		break;
 	}
 	putchar(',');
 	printf("bus%d,irq%d", iointr->src_bus_id, iointr->src_bus_irq);
 	putchar(',');
-	printf("io_apic%d,pin%d", iointr->dst_io_apic_id, iointr->dst_io_apic_pin);
+	printf("io_apic%d,pin%d", iointr->dst_io_apic_id,
+	    iointr->dst_io_apic_pin);
 	putchar('\n');	
 #endif
@@ -373,22 +406,46 @@
 #ifdef MPSCT_VERBOSE
 	switch (lintr->intr_type) {
-	    case 0: printf("INT"); break;
-	    case 1: printf("NMI"); break;
-	    case 2: printf("SMI"); break;
-	    case 3: printf("ExtINT"); break;
-	}
-	putchar(',');
-	switch (lintr->poel&3) {
-	    case 0: printf("bus-like"); break;
-	    case 1: printf("active high"); break;
-	    case 2: printf("reserved"); break;
-	    case 3: printf("active low"); break;
-	}
-	putchar(',');
-	switch ((lintr->poel>>2)&3) {
-	    case 0: printf("bus-like"); break;
-	    case 1: printf("edge-triggered"); break;
-	    case 2: printf("reserved"); break;
-	    case 3: printf("level-triggered"); break;
+	case 0:
+	    printf("INT");
+	    break;
+	case 1:
+	    printf("NMI");
+	    break;
+	case 2:
+	    printf("SMI");
+	    break;
+	case 3:
+	    printf("ExtINT");
+	    break;
+	}
+	putchar(',');
+	switch (lintr->poel & 3) {
+	case 0:
+	    printf("bus-like");
+	    break;
+	case 1:
+	    printf("active high");
+	    break;
+	case 2:
+	    printf("reserved");
+	    break;
+	case 3:
+	    printf("active low");
+	    break;
+	}
+	putchar(',');
+	switch ((lintr->poel >> 2) & 3) {
+	case 0:
+	    printf("bus-like");
+	    break;
+	case 1:
+	    printf("edge-triggered");
+	    break;
+	case 2:
+	    printf("reserved");
+	    break;
+	case 3:
+	    printf("level-triggered");
+	    break;
 	}
 	putchar(',');
@@ -405,9 +462,11 @@
 	uint8_t *cur;
 
-	for (cur = ext; cur < ext + ct->ext_table_length; cur += cur[CT_EXT_ENTRY_LEN]) {
+	for (cur = ext; cur < ext + ct->ext_table_length;
+	    cur += cur[CT_EXT_ENTRY_LEN]) {
 		switch (cur[CT_EXT_ENTRY_TYPE]) {
-			default:
-				printf("%p: skipping MP Configuration Table extended entry type %d\n", cur, cur[CT_EXT_ENTRY_TYPE]);
-				break;
+		default:
+			printf("%p: skipping MP Configuration Table extended "
+			    "entry type %d\n", cur, cur[CT_EXT_ENTRY_TYPE]);
+			break;
 		}
 	}
@@ -419,5 +478,6 @@
 	
 	for (i = 0; i < io_intr_entry_cnt; i++) {
-		if (io_intr_entries[i].src_bus_irq == irq && io_intr_entries[i].intr_type == 0)
+		if (io_intr_entries[i].src_bus_irq == irq &&
+		    io_intr_entries[i].intr_type == 0)
 			return io_intr_entries[i].dst_io_apic_pin;
 	}
Index: kernel/arch/ia32/src/smp/smp.c
===================================================================
--- kernel/arch/ia32/src/smp/smp.c	(revision 3ee8a07528aa466b40a362672714a05e936d396e)
+++ kernel/arch/ia32/src/smp/smp.c	(revision 4bb31f7fb268426f499400dc8b2d9f6c6d3aaf65)
@@ -1,4 +1,4 @@
 /*
- * Copyright (c) 2005 Jakub Jermar
+ * Copyright (c) 2008 Jakub Jermar
  * All rights reserved.
  *
@@ -73,17 +73,19 @@
 	}
 
-	l_apic_address = (uintptr_t) frame_alloc(ONE_FRAME, FRAME_ATOMIC | FRAME_KA);
+	l_apic_address = (uintptr_t) frame_alloc(ONE_FRAME,
+	    FRAME_ATOMIC | FRAME_KA);
 	if (!l_apic_address)
 		panic("cannot allocate address for l_apic\n");
 
-	io_apic_address = (uintptr_t) frame_alloc(ONE_FRAME, FRAME_ATOMIC | FRAME_KA);
+	io_apic_address = (uintptr_t) frame_alloc(ONE_FRAME,
+	    FRAME_ATOMIC | FRAME_KA);
 	if (!io_apic_address)
 		panic("cannot allocate address for io_apic\n");
 
 	if (config.cpu_count > 1) {		
-		page_mapping_insert(AS_KERNEL, l_apic_address, (uintptr_t) l_apic, 
-				  PAGE_NOT_CACHEABLE | PAGE_WRITE);
-		page_mapping_insert(AS_KERNEL, io_apic_address, (uintptr_t) io_apic,
-				  PAGE_NOT_CACHEABLE | PAGE_WRITE);
+		page_mapping_insert(AS_KERNEL, l_apic_address,
+		    (uintptr_t) l_apic, PAGE_NOT_CACHEABLE | PAGE_WRITE);
+		page_mapping_insert(AS_KERNEL, io_apic_address,
+		    (uintptr_t) io_apic, PAGE_NOT_CACHEABLE | PAGE_WRITE);
 				  
 		l_apic = (uint32_t *) l_apic_address;
@@ -113,6 +115,7 @@
 	 * Set the warm-reset vector to the real-mode address of 4K-aligned ap_boot()
 	 */
-	*((uint16_t *) (PA2KA(0x467 + 0))) = (uint16_t) (((uintptr_t) ap_boot) >> 4);	/* segment */
-	*((uint16_t *) (PA2KA(0x467 + 2))) = 0;				/* offset */
+	*((uint16_t *) (PA2KA(0x467 + 0))) =
+	    (uint16_t) (((uintptr_t) ap_boot) >> 4);	/* segment */
+	*((uint16_t *) (PA2KA(0x467 + 2))) = 0;		/* offset */
 	
 	/*
@@ -144,5 +147,6 @@
 
 		if (ops->cpu_apic_id(i) == apic) {
-			printf("%s: bad processor entry #%u, will not send IPI to myself\n", __FUNCTION__, i);
+			printf("%s: bad processor entry #%u, will not send IPI "
+			    "to myself\n", __FUNCTION__, i);
 			continue;
 		}
@@ -151,9 +155,12 @@
 		 * Prepare new GDT for CPU in question.
 		 */
-		if (!(gdt_new = (struct descriptor *) malloc(GDT_ITEMS * sizeof(struct descriptor), FRAME_ATOMIC)))
+		gdt_new = (struct descriptor *) malloc(GDT_ITEMS *
+		    sizeof(struct descriptor), FRAME_ATOMIC);
+		if (!gdt_new)
 			panic("couldn't allocate memory for GDT\n");
 
 		memcpy(gdt_new, gdt, GDT_ITEMS * sizeof(struct descriptor));
-		memsetb((uintptr_t)(&gdt_new[TSS_DES]), sizeof(struct descriptor), 0);
+		memsetb((uintptr_t)(&gdt_new[TSS_DES]),
+		    sizeof(struct descriptor), 0);
 		protected_ap_gdtr.limit = GDT_ITEMS * sizeof(struct descriptor);
 		protected_ap_gdtr.base = KA2PA((uintptr_t) gdt_new);
@@ -166,10 +173,15 @@
 			 * supposed to wake us up.
 			 */
-			if (waitq_sleep_timeout(&ap_completion_wq, 1000000, SYNCH_FLAGS_NONE) == ESYNCH_TIMEOUT) {
-				unsigned int cpu = (config.cpu_active > i) ? config.cpu_active : i;
-				printf("%s: waiting for cpu%u (APIC ID = %d) timed out\n", __FUNCTION__, cpu, ops->cpu_apic_id(i));
+			if (waitq_sleep_timeout(&ap_completion_wq, 1000000,
+			    SYNCH_FLAGS_NONE) == ESYNCH_TIMEOUT) {
+				unsigned int cpu = (config.cpu_active > i) ?
+				    config.cpu_active : i;
+				printf("%s: waiting for cpu%u (APIC ID = %d) "
+				    "timed out\n", __FUNCTION__, cpu,
+				    ops->cpu_apic_id(i));
 			}
 		} else
-			printf("INIT IPI for l_apic%d failed\n", ops->cpu_apic_id(i));
+			printf("INIT IPI for l_apic%d failed\n",
+			    ops->cpu_apic_id(i));
 	}
 }
