diff options
Diffstat (limited to 'include/asm-ia64/system.h')
-rw-r--r-- | include/asm-ia64/system.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/include/asm-ia64/system.h b/include/asm-ia64/system.h index 26e250bfb912..927a381c20ca 100644 --- a/include/asm-ia64/system.h +++ b/include/asm-ia64/system.h | |||
@@ -26,6 +26,7 @@ | |||
26 | */ | 26 | */ |
27 | #define KERNEL_START (GATE_ADDR+__IA64_UL_CONST(0x100000000)) | 27 | #define KERNEL_START (GATE_ADDR+__IA64_UL_CONST(0x100000000)) |
28 | #define PERCPU_ADDR (-PERCPU_PAGE_SIZE) | 28 | #define PERCPU_ADDR (-PERCPU_PAGE_SIZE) |
29 | #define LOAD_OFFSET (KERNEL_START - KERNEL_TR_PAGE_SIZE) | ||
29 | 30 | ||
30 | #ifndef __ASSEMBLY__ | 31 | #ifndef __ASSEMBLY__ |
31 | 32 | ||
@@ -122,10 +123,16 @@ extern struct ia64_boot_param { | |||
122 | * write a floating-point register right before reading the PSR | 123 | * write a floating-point register right before reading the PSR |
123 | * and that writes to PSR.mfl | 124 | * and that writes to PSR.mfl |
124 | */ | 125 | */ |
126 | #ifdef CONFIG_PARAVIRT | ||
127 | #define __local_save_flags() ia64_get_psr_i() | ||
128 | #else | ||
129 | #define __local_save_flags() ia64_getreg(_IA64_REG_PSR) | ||
130 | #endif | ||
131 | |||
125 | #define __local_irq_save(x) \ | 132 | #define __local_irq_save(x) \ |
126 | do { \ | 133 | do { \ |
127 | ia64_stop(); \ | 134 | ia64_stop(); \ |
128 | (x) = ia64_getreg(_IA64_REG_PSR); \ | 135 | (x) = __local_save_flags(); \ |
129 | ia64_stop(); \ | 136 | ia64_stop(); \ |
130 | ia64_rsm(IA64_PSR_I); \ | 137 | ia64_rsm(IA64_PSR_I); \ |
131 | } while (0) | 138 | } while (0) |
@@ -173,7 +180,7 @@ do { \ | |||
173 | #endif /* !CONFIG_IA64_DEBUG_IRQ */ | 180 | #endif /* !CONFIG_IA64_DEBUG_IRQ */ |
174 | 181 | ||
175 | #define local_irq_enable() ({ ia64_stop(); ia64_ssm(IA64_PSR_I); ia64_srlz_d(); }) | 182 | #define local_irq_enable() ({ ia64_stop(); ia64_ssm(IA64_PSR_I); ia64_srlz_d(); }) |
176 | #define local_save_flags(flags) ({ ia64_stop(); (flags) = ia64_getreg(_IA64_REG_PSR); }) | 183 | #define local_save_flags(flags) ({ ia64_stop(); (flags) = __local_save_flags(); }) |
177 | 184 | ||
178 | #define irqs_disabled() \ | 185 | #define irqs_disabled() \ |
179 | ({ \ | 186 | ({ \ |