mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
xen/ppc: Add .text.exceptions section for exception vectors
On Power, the exception vectors must lie at a fixed address, depending on the state of the Alternate Interrupt Location (AIL) field of the Logical Partition Control Register (LPCR). Create a .text.exceptions section in the linker script at an address suitable for AIL=3 plus an accompanying assertion to pave the way for implementing exception support. Signed-off-by: Shawn Anastasio <sanastasio@raptorengineering.com> Acked-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
87f37449d5
commit
abb8a88d59
2 files changed
+10
No files matched your search
@@ -42,6 +42,9 @@
|
||||
|
||||
#define XEN_VIRT_START _AC(0xc000000000000000, UL)
|
||||
|
||||
/* Fixed address for start of the section containing exception vectors */
|
||||
#define EXCEPTION_VECTORS_START _AC(0xc000000000000100, UL)
|
||||
|
||||
#define VMAP_VIRT_START (XEN_VIRT_START + GB(1))
|
||||
#define VMAP_VIRT_SIZE GB(1)
|
||||
|
||||
|
||||
@@ -24,6 +24,10 @@ SECTIONS
|
||||
_stext = .; /* Text section */
|
||||
*(.text.header)
|
||||
|
||||
. = ALIGN(256);
|
||||
HIDDEN(_stext_exceptions = .);
|
||||
*(.text.exceptions)
|
||||
|
||||
*(.text.cold)
|
||||
*(.text.unlikely .text.*_unlikely .text.unlikely.*)
|
||||
|
||||
@@ -184,3 +188,6 @@ ASSERT(IS_ALIGNED(__bss_end, POINTER_ALIGN), "__bss_end is misaligned")
|
||||
|
||||
ASSERT(!SIZEOF(.got), ".got non-empty")
|
||||
ASSERT(!SIZEOF(.got.plt), ".got.plt non-empty")
|
||||
|
||||
ASSERT(_stext_exceptions == EXCEPTION_VECTORS_START,
|
||||
".text.exceptions not at expected location -- .text.header too big?");
|
||||