mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
x86/trampoline: Change type of trampoline_phys to uint32_t
As now documented, this variable holds a page aligned value less than 1M. However, head.S fills it using 4-byte stores, and reloc_trampoline() is compiled for both 32bit and 64bit, where unsigned long is a different size. This happens to work because of the range of the value, but switch to uint32_t to make it explicit. Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com> Acked-by: Jan Beulich <jbeulich@suse.com>
This commit is contained in:
1 parent
c839c8c3fc
commit
9ef78a614d
4 files changed
+4
-4
No files matched your search
@@ -15,7 +15,7 @@ void reloc_trampoline64(void)
|
||||
#error Unknown architecture
|
||||
#endif
|
||||
{
|
||||
unsigned long phys = trampoline_phys;
|
||||
uint32_t phys = trampoline_phys;
|
||||
const int32_t *trampoline_ptr;
|
||||
|
||||
/*
|
||||
|
||||
@@ -235,7 +235,7 @@ static void __init noreturn efi_arch_post_exit_boot(void)
|
||||
u64 cr4 = XEN_MINIMAL_CR4 & ~X86_CR4_PGE, efer;
|
||||
|
||||
efi_arch_relocate_image(__XEN_VIRT_START - xen_phys_start);
|
||||
memcpy((void *)trampoline_phys, trampoline_start, cfg.size);
|
||||
memcpy(_p(trampoline_phys), trampoline_start, cfg.size);
|
||||
|
||||
/*
|
||||
* We're in physical mode right now (i.e. identity map), so a regular
|
||||
|
||||
@@ -52,7 +52,7 @@ extern char trampoline_start[], trampoline_end[];
|
||||
* the 1M boundary (as the trampoline contains 16-bit code), and must be 4k
|
||||
* aligned (SIPI requirement for APs).
|
||||
*/
|
||||
extern unsigned long trampoline_phys;
|
||||
extern uint32_t trampoline_phys;
|
||||
|
||||
/*
|
||||
* Calculate the physical address of a symbol in the trampoline.
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
#include <asm/trampoline.h>
|
||||
#include <asm/irq-vectors.h>
|
||||
|
||||
unsigned long __read_mostly trampoline_phys;
|
||||
uint32_t __ro_after_init trampoline_phys;
|
||||
enum ap_boot_method __read_mostly ap_boot_method = AP_BOOT_NORMAL;
|
||||
|
||||
/* representing HT siblings of each logical CPU */
|
||||
|
||||