diff --git a/src/soc/amd/stoneyridge/northbridge.c b/src/soc/amd/stoneyridge/northbridge.c
index 240aebd..6389cc4 100644
--- a/src/soc/amd/stoneyridge/northbridge.c
+++ b/src/soc/amd/stoneyridge/northbridge.c
@@ -234,13 +234,13 @@
 	acpi_hest_t *hest;
 
 	/* HEST */
-	current = ALIGN_UP(current, 8);
+	current = acpi_align_current(current);
 	hest = (acpi_hest_t *)current;
 	acpi_write_hest(hest, acpi_fill_hest);
 	acpi_add_table(rsdp, (void *)current);
 	current += hest->header.length;
 
-	current = ALIGN_UP(current, 8);
+	current = acpi_align_current(current);
 	printk(BIOS_DEBUG, "ACPI:    * IVRS at %lx\n", current);
 	ivrs = agesawrapper_getlateinitptr(PICK_IVRS);
 	if (ivrs != NULL) {
@@ -253,7 +253,7 @@
 	}
 
 	/* SRAT */
-	current = ALIGN_UP(current, 8);
+	current = acpi_align_current(current);
 	printk(BIOS_DEBUG, "ACPI:    * SRAT at %lx\n", current);
 	srat = (acpi_srat_t *)agesawrapper_getlateinitptr(PICK_SRAT);
 	if (srat != NULL) {
@@ -266,7 +266,7 @@
 	}
 
 	/* SLIT */
-	current = ALIGN_UP(current, 8);
+	current = acpi_align_current(current);
 	printk(BIOS_DEBUG, "ACPI:   * SLIT at %lx\n", current);
 	slit = (acpi_slit_t *)agesawrapper_getlateinitptr(PICK_SLIT);
 	if (slit != NULL) {
@@ -279,7 +279,7 @@
 	}
 
 	/* ALIB */
-	current = ALIGN_UP(current, 16);
+	current = acpi_align_current(current);
 	printk(BIOS_DEBUG, "ACPI:  * AGESA ALIB SSDT at %lx\n", current);
 	alib = (acpi_header_t *)agesawrapper_getlateinitptr(PICK_ALIB);
 	if (alib != NULL) {
@@ -292,7 +292,7 @@
 							" Skipping.\n");
 	}
 
-	current   = ALIGN_UP(current, 16);
+	current = acpi_align_current(current);
 	printk(BIOS_DEBUG, "ACPI:    * SSDT at %lx\n", current);
 	ssdt = (acpi_header_t *)agesawrapper_getlateinitptr(PICK_PSTATE);
 	if (ssdt != NULL) {
