The event log generated by OpenFirmware in PowerPC is 4-byte aligned.
This patch reformats the log to be byte-aligned for the Linux client.

Signed-off-by: Hon Ching(Vicky) Lo <hon...@linux.vnet.ibm.com>
---
 arch/powerpc/kernel/prom_init.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index b9b6bb1..8a5c248 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -1417,8 +1417,9 @@ static void __init prom_instantiate_sml(void)
 {
        phandle ibmvtpm_node;
        ihandle ibmvtpm_inst;
-       u32 entry = 0, size = 0;
+       u32 entry = 0, size = 0, succ = 0;
        u64 base;
+       __be32 val;
 
        prom_debug("prom_instantiate_sml: start...\n");
 
@@ -1433,6 +1434,16 @@ static void __init prom_instantiate_sml(void)
                return;
        }
 
+       if (prom_getprop(ibmvtpm_node, "ibm,sml-efi-reformat-supported",
+                        &val, sizeof(val)) != PROM_ERROR) {
+               if (call_prom_ret("call-method", 2, 2, &succ,
+                                 ADDR("reformat-sml-to-efi-alignment"),
+                                 ibmvtpm_inst) != 0 || succ == 0) {
+                       prom_printf("Reformat SML to EFI alignment failed\n");
+                       return;
+               }
+       }
+
        if (call_prom_ret("call-method", 2, 2, &size,
                          ADDR("sml-get-handover-size"),
                          ibmvtpm_inst) != 0 || size == 0) {
-- 
1.7.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to