[IA64] Split 16-bit severity field in sal_log_record_header
authorTony Luck <tony.luck@intel.com>
Tue, 13 Dec 2005 18:41:49 +0000 (10:41 -0800)
committerTony Luck <tony.luck@intel.com>
Tue, 13 Dec 2005 18:41:49 +0000 (10:41 -0800)
ERR_SEVERITY item is defined as a 8 bits item in SAL documentation
($B.2.1 rev december 2003), but as an u16 in sal.h.
This has the side effect that current code in mca.c may not call
ia64_sal_clear_state_info() upon receiving corrected platform errors
if there are bits set in the validation byte.  Reported by Xavier Bru.

Signed-off-by: Tony Luck <tony.luck@intel.com>
include/asm-ia64/sal.h

index 29df88bdd2bce756443eda94b21f61f621a0dc37..313cad0628d07a5555d430d17ab6236f52fa59cb 100644 (file)
@@ -320,7 +320,8 @@ typedef struct sal_log_timestamp {
 typedef struct sal_log_record_header {
        u64 id;                         /* Unique monotonically increasing ID */
        sal_log_revision_t revision;    /* Major and Minor revision of header */
-       u16 severity;                   /* Error Severity */
+       u8 severity;                    /* Error Severity */
+       u8 validation_bits;             /* 0: platform_guid, 1: !timestamp */
        u32 len;                        /* Length of this error log in bytes */
        sal_log_timestamp_t timestamp;  /* Timestamp */
        efi_guid_t platform_guid;       /* Unique OEM Platform ID */