/* * For both vtpm/tpm, firmware has log addr and log size in big * endian format. But in case of vtpm, there is a method called * sml-handover which is run during kernel init even before * device tree is setup. This sml-handover function takes care * of endianness and writes to sml-base and sml-size in little * endian format. For this reason, vtpm doesn't need conversion * but physical tpm needs the conversion.
*/ if (of_property_match_string(np, "compatible", "IBM,vtpm") < 0 &&
of_property_match_string(np, "compatible", "IBM,vtpm20") < 0) {
size = be32_to_cpup((__force __be32 *)sizep);
base = be64_to_cpup((__force __be64 *)basep);
} else {
size = *sizep;
base = *basep;
}
if (size == 0) {
dev_warn(&chip->dev, "%s: Event log area empty\n", __func__); return -EIO;
}
log->bios_event_log = devm_kmemdup(&chip->dev, __va(base), size, GFP_KERNEL); if (!log->bios_event_log) return -ENOMEM;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.