diff options
author | Rushikesh S Kadam <rushikesh.s.kadam@intel.com> | 2018-11-03 01:48:18 +0530 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2018-12-10 21:47:40 -0800 |
commit | f645b4591de099c245dd8e69bdc785134fdfdb7a (patch) | |
tree | 8c17d74cf69f83b64ac2db653f350b259fbb4d60 | |
parent | 20f3050871fad8a3fbfd9000ba44847fa4bb8a08 (diff) | |
download | chrome-ec-f645b4591de099c245dd8e69bdc785134fdfdb7a.tar.gz |
core/minute-ia: Setup GDT
Setup GDT for main ISH FW
BRANCH=none
BUG=b:120051488
TEST=Verify that main ISH FW runs fine when loaded through host FW load flow.
Change-Id: I8101de6c2482abb09ccc8fdc36321fa562e521d7
Signed-off-by: Rushikesh S Kadam <rushikesh.s.kadam@intel.com>
Signed-off-by: Sadashiva Rao Pv <sadashiva.rao.pv@intel.com>
Reviewed-on: https://chromium-review.googlesource.com/1316700
Commit-Ready: Caveh Jalali <caveh@google.com>
Reviewed-by: Caveh Jalali <caveh@google.com>
-rw-r--r-- | core/minute-ia/init.S | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/core/minute-ia/init.S b/core/minute-ia/init.S index 054de9c4e3..5ba0cbf581 100644 --- a/core/minute-ia/init.S +++ b/core/minute-ia/init.S @@ -286,12 +286,38 @@ interrupt_descriptor interrupt_descriptor interrupt_descriptor # 255 +__gdt: + # Entry 0: Null descriptor + .word 0x0000 + .word 0x0000 + .byte 0x00 + .byte 0x00 + .byte 0x00 + .byte 0x00 + # Entry 1: Code descriptor + .word 0xffff # Limit: xffff + .word 0x0000 # Base: xxxx0000 + .byte 0x00 # Base: xx00xxxx + .byte 0x9b # Code E/R, Present, DPL0, Acesssed=1 + .byte 0xcf # Limit fxxxx, Page Gra, 32 bit + .byte 0x00 # Base: 00xxxxxx + # Entry 0: Data descriptor + .word 0xffff # Limit: xffff + .word 0x0000 # Base: xxxx0000 + .byte 0x00 # Base: xx00xxxx + .byte 0x93 # Data R/W, Present, DPL0, Acesssed=1 + .byte 0xcf # Limit fxxxx, Page Gra, 32 bit + .byte 0x00 # Base: 00xxxxxx + #.section .data __idt_ptr: .word 2047 # Table size in bytes, count from 0 # (8N - 1). N = 256 - the number of vectors .long __idt # Base address of IDT +__gdt_ptr: + .word 24 + .long __gdt .section .init .code32 @@ -316,6 +342,9 @@ reset: # System stack is within .bss, already cleared movl $stack_end, %esp + # Load GDT + lgdt __gdt_ptr + # Load IDT lidt __idt_ptr |