summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaul E Rangel <rrangel@chromium.org>2018-08-02 15:12:34 -0600
committerPatrick Georgi <pgeorgi@google.com>2018-08-06 07:56:00 +0000
commita8b4b75d241b0ae03cc2f11589339515afa41773 (patch)
treea603fbb6c165450ed3681c78266d188b938f23fb
parent54bb0ce17c9062232c5889ec85dde13c107ade31 (diff)
downloadcoreboot-a8b4b75d241b0ae03cc2f11589339515afa41773.tar.xz
exception: Fix segment error code mask
The segment error descriptor is actually 13 bits long. BUG=b:109749762 TEST=Verified by causing a segment error Change-Id: I3439f9ce1e8cf0c472c4eb82d74a787718c9609f Signed-off-by: Raul E Rangel <rrangel@chromium.org> Reviewed-on: https://review.coreboot.org/27812 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin Roth <martinroth@google.com>
-rw-r--r--payloads/libpayload/arch/x86/exception.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/payloads/libpayload/arch/x86/exception.c b/payloads/libpayload/arch/x86/exception.c
index f6bb8c9ccf..b562660910 100644
--- a/payloads/libpayload/arch/x86/exception.c
+++ b/payloads/libpayload/arch/x86/exception.c
@@ -59,7 +59,7 @@ static const char *names[EXC_COUNT] = {
static void print_segment_error_code(u32 code)
{
- printf("%#x - descriptor %#x in the ", code, (code >> 3) & 0x1f);
+ printf("%#x - descriptor %#x in the ", code, (code >> 3) & 0x1FFF);
if (code & (0x1 << 1)) {
printf("IDT");
} else {