Index: kernel/genarch/src/acpi/acpi.c
===================================================================
--- kernel/genarch/src/acpi/acpi.c	(revision a71c158ef82122abfeef92f86344709bbad55d17)
+++ kernel/genarch/src/acpi/acpi.c	(revision 0daba2122dbae0532b6060c324edd987cb367f6a)
@@ -46,4 +46,10 @@
 #define RSDP_REVISION_OFFS	15
 
+#define CMP_SIGNATURE(left, right) \
+	(((left)[0] == (right)[0]) && \
+	((left)[1] == (right)[1]) && \
+	((left)[2] == (right)[2]) && \
+	((left)[3] == (right)[3]))
+
 struct acpi_rsdp *acpi_rsdp = NULL;
 struct acpi_rsdt *acpi_rsdt = NULL;
@@ -105,6 +111,6 @@
 			struct acpi_sdt_header *h = (struct acpi_sdt_header *) (unative_t) acpi_rsdt->entry[i];
 		
-			map_sdt(h);	
-			if (*((uint32_t *) &h->signature[0]) == *((uint32_t *) &signature_map[j].signature[0])) {
+			map_sdt(h);
+			if (CMP_SIGNATURE(h->signature, signature_map[j].signature)) {
 				if (!acpi_sdt_check((uint8_t *) h))
 					goto next;
@@ -127,5 +133,5 @@
 
 			map_sdt(h);
-			if (*((uint32_t *) &h->signature[0]) == *((uint32_t *) &signature_map[j].signature[0])) {
+			if (CMP_SIGNATURE(h->signature, signature_map[j].signature)) {
 				if (!acpi_sdt_check((uint8_t *) h))
 					goto next;
