diff options
author | Raul E Rangel <rrangel@chromium.org> | 2018-08-02 15:12:34 -0600 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2018-08-06 07:56:00 +0000 |
commit | a8b4b75d241b0ae03cc2f11589339515afa41773 (patch) | |
tree | a603fbb6c165450ed3681c78266d188b938f23fb /payloads/libpayload/arch/x86 | |
parent | 54bb0ce17c9062232c5889ec85dde13c107ade31 (diff) |
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>
Diffstat (limited to 'payloads/libpayload/arch/x86')
-rw-r--r-- | payloads/libpayload/arch/x86/exception.c | 2 |
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 { |