ia64/xen-unstable
changeset 16762:a66cad24cda6
[IA64] Move asmmacro.h from linux-xen to linux
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
Signed-off-by: Akio Takebe <takebe_akio@jp.fujitsu.com>
author | Alex Williamson <alex.williamson@hp.com> |
---|---|
date | Fri Dec 14 13:51:02 2007 -0700 (2007-12-14) |
parents | fe25c7ec84e8 |
children | 234a7033e949 |
files | xen/include/asm-ia64/linux-xen/asm/README.origin xen/include/asm-ia64/linux-xen/asm/asmmacro.h xen/include/asm-ia64/linux/asm/README.origin xen/include/asm-ia64/linux/asm/asmmacro.h |
line diff
1.1 --- a/xen/include/asm-ia64/linux-xen/asm/README.origin Fri Dec 14 13:49:04 2007 -0700 1.2 +++ b/xen/include/asm-ia64/linux-xen/asm/README.origin Fri Dec 14 13:51:02 2007 -0700 1.3 @@ -6,7 +6,6 @@ 1.4 # easily updated to future versions of the corresponding Linux files. 1.5 1.6 acpi.h -> linux/include/asm-ia64/acpi.h 1.7 -asmmacro.h -> linux/include/asm-ia64/asmmacro.h 1.8 atomic.h -> linux/include/asm-ia64/atomic.h 1.9 cache.h -> linux/include/asm-ia64/cache.h 1.10 gcc_intrin.h -> linux/include/asm-ia64/gcc_intrin.h
2.1 --- a/xen/include/asm-ia64/linux-xen/asm/asmmacro.h Fri Dec 14 13:49:04 2007 -0700 2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 2.3 @@ -1,111 +0,0 @@ 2.4 -#ifndef _ASM_IA64_ASMMACRO_H 2.5 -#define _ASM_IA64_ASMMACRO_H 2.6 - 2.7 -/* 2.8 - * Copyright (C) 2000-2001, 2003-2004 Hewlett-Packard Co 2.9 - * David Mosberger-Tang <davidm@hpl.hp.com> 2.10 - */ 2.11 - 2.12 -#include <linux/config.h> 2.13 - 2.14 -#define ENTRY(name) \ 2.15 - .align 32; \ 2.16 - .proc name; \ 2.17 -name: 2.18 - 2.19 -#define ENTRY_MIN_ALIGN(name) \ 2.20 - .align 16; \ 2.21 - .proc name; \ 2.22 -name: 2.23 - 2.24 -#define GLOBAL_ENTRY(name) \ 2.25 - .global name; \ 2.26 - ENTRY(name) 2.27 - 2.28 -#define END(name) \ 2.29 - .endp name 2.30 - 2.31 -/* 2.32 - * Helper macros to make unwind directives more readable: 2.33 - */ 2.34 - 2.35 -/* prologue_gr: */ 2.36 -#define ASM_UNW_PRLG_RP 0x8 2.37 -#define ASM_UNW_PRLG_PFS 0x4 2.38 -#define ASM_UNW_PRLG_PSP 0x2 2.39 -#define ASM_UNW_PRLG_PR 0x1 2.40 -#define ASM_UNW_PRLG_GRSAVE(ninputs) (32+(ninputs)) 2.41 - 2.42 -/* 2.43 - * Helper macros for accessing user memory. 2.44 - */ 2.45 - 2.46 - .section "__ex_table", "a" // declare section & section attributes 2.47 - .previous 2.48 - 2.49 -# define EX(y,x...) \ 2.50 - .xdata4 "__ex_table", 99f-., y-.; \ 2.51 - [99:] x 2.52 -# define EXCLR(y,x...) \ 2.53 - .xdata4 "__ex_table", 99f-., y-.+4; \ 2.54 - [99:] x 2.55 - 2.56 -/* 2.57 - * Mark instructions that need a load of a virtual address patched to be 2.58 - * a load of a physical address. We use this either in critical performance 2.59 - * path (ivt.S - TLB miss processing) or in places where it might not be 2.60 - * safe to use a "tpa" instruction (mca_asm.S - error recovery). 2.61 - */ 2.62 - .section ".data.patch.vtop", "a" // declare section & section attributes 2.63 - .previous 2.64 - 2.65 -#define LOAD_PHYSICAL(pr, reg, obj) \ 2.66 -[1:](pr)movl reg = obj; \ 2.67 - .xdata4 ".data.patch.vtop", 1b-. 2.68 - 2.69 -/* 2.70 - * For now, we always put in the McKinley E9 workaround. On CPUs that don't need it, 2.71 - * we'll patch out the work-around bundles with NOPs, so their impact is minimal. 2.72 - */ 2.73 -#define DO_MCKINLEY_E9_WORKAROUND 2.74 - 2.75 -#ifdef DO_MCKINLEY_E9_WORKAROUND 2.76 - .section ".data.patch.mckinley_e9", "a" 2.77 - .previous 2.78 -/* workaround for Itanium 2 Errata 9: */ 2.79 -# define FSYS_RETURN \ 2.80 - .xdata4 ".data.patch.mckinley_e9", 1f-.; \ 2.81 -1:{ .mib; \ 2.82 - nop.m 0; \ 2.83 - mov r16=ar.pfs; \ 2.84 - br.call.sptk.many b7=2f;; \ 2.85 - }; \ 2.86 -2:{ .mib; \ 2.87 - nop.m 0; \ 2.88 - mov ar.pfs=r16; \ 2.89 - br.ret.sptk.many b6;; \ 2.90 - } 2.91 -#else 2.92 -# define FSYS_RETURN br.ret.sptk.many b6 2.93 -#endif 2.94 - 2.95 -/* 2.96 - * Up until early 2004, use of .align within a function caused bad unwind info. 2.97 - * TEXT_ALIGN(n) expands into ".align n" if a fixed GAS is available or into nothing 2.98 - * otherwise. 2.99 - */ 2.100 -#ifdef HAVE_WORKING_TEXT_ALIGN 2.101 -# define TEXT_ALIGN(n) .align n 2.102 -#else 2.103 -# define TEXT_ALIGN(n) 2.104 -#endif 2.105 - 2.106 -#ifdef HAVE_SERIALIZE_DIRECTIVE 2.107 -# define dv_serialize_data .serialize.data 2.108 -# define dv_serialize_instruction .serialize.instruction 2.109 -#else 2.110 -# define dv_serialize_data 2.111 -# define dv_serialize_instruction 2.112 -#endif 2.113 - 2.114 -#endif /* _ASM_IA64_ASMMACRO_H */
3.1 --- a/xen/include/asm-ia64/linux/asm/README.origin Fri Dec 14 13:49:04 2007 -0700 3.2 +++ b/xen/include/asm-ia64/linux/asm/README.origin Fri Dec 14 13:51:02 2007 -0700 3.3 @@ -4,6 +4,7 @@ 3.4 # needs to be changed, move it to ../linux-xen and follow 3.5 # the instructions in the README there. 3.6 3.7 +asmmacro.h -> linux/include/asm-ia64/asmmacro.h 3.8 bitops.h -> linux/include/asm-ia64/bitops.h 3.9 break.h -> linux/include/asm-ia64/break.h 3.10 byteorder.h -> linux/include/asm-ia64/byteorder.h
4.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2 +++ b/xen/include/asm-ia64/linux/asm/asmmacro.h Fri Dec 14 13:51:02 2007 -0700 4.3 @@ -0,0 +1,111 @@ 4.4 +#ifndef _ASM_IA64_ASMMACRO_H 4.5 +#define _ASM_IA64_ASMMACRO_H 4.6 + 4.7 +/* 4.8 + * Copyright (C) 2000-2001, 2003-2004 Hewlett-Packard Co 4.9 + * David Mosberger-Tang <davidm@hpl.hp.com> 4.10 + */ 4.11 + 4.12 +#include <linux/config.h> 4.13 + 4.14 +#define ENTRY(name) \ 4.15 + .align 32; \ 4.16 + .proc name; \ 4.17 +name: 4.18 + 4.19 +#define ENTRY_MIN_ALIGN(name) \ 4.20 + .align 16; \ 4.21 + .proc name; \ 4.22 +name: 4.23 + 4.24 +#define GLOBAL_ENTRY(name) \ 4.25 + .global name; \ 4.26 + ENTRY(name) 4.27 + 4.28 +#define END(name) \ 4.29 + .endp name 4.30 + 4.31 +/* 4.32 + * Helper macros to make unwind directives more readable: 4.33 + */ 4.34 + 4.35 +/* prologue_gr: */ 4.36 +#define ASM_UNW_PRLG_RP 0x8 4.37 +#define ASM_UNW_PRLG_PFS 0x4 4.38 +#define ASM_UNW_PRLG_PSP 0x2 4.39 +#define ASM_UNW_PRLG_PR 0x1 4.40 +#define ASM_UNW_PRLG_GRSAVE(ninputs) (32+(ninputs)) 4.41 + 4.42 +/* 4.43 + * Helper macros for accessing user memory. 4.44 + */ 4.45 + 4.46 + .section "__ex_table", "a" // declare section & section attributes 4.47 + .previous 4.48 + 4.49 +# define EX(y,x...) \ 4.50 + .xdata4 "__ex_table", 99f-., y-.; \ 4.51 + [99:] x 4.52 +# define EXCLR(y,x...) \ 4.53 + .xdata4 "__ex_table", 99f-., y-.+4; \ 4.54 + [99:] x 4.55 + 4.56 +/* 4.57 + * Mark instructions that need a load of a virtual address patched to be 4.58 + * a load of a physical address. We use this either in critical performance 4.59 + * path (ivt.S - TLB miss processing) or in places where it might not be 4.60 + * safe to use a "tpa" instruction (mca_asm.S - error recovery). 4.61 + */ 4.62 + .section ".data.patch.vtop", "a" // declare section & section attributes 4.63 + .previous 4.64 + 4.65 +#define LOAD_PHYSICAL(pr, reg, obj) \ 4.66 +[1:](pr)movl reg = obj; \ 4.67 + .xdata4 ".data.patch.vtop", 1b-. 4.68 + 4.69 +/* 4.70 + * For now, we always put in the McKinley E9 workaround. On CPUs that don't need it, 4.71 + * we'll patch out the work-around bundles with NOPs, so their impact is minimal. 4.72 + */ 4.73 +#define DO_MCKINLEY_E9_WORKAROUND 4.74 + 4.75 +#ifdef DO_MCKINLEY_E9_WORKAROUND 4.76 + .section ".data.patch.mckinley_e9", "a" 4.77 + .previous 4.78 +/* workaround for Itanium 2 Errata 9: */ 4.79 +# define FSYS_RETURN \ 4.80 + .xdata4 ".data.patch.mckinley_e9", 1f-.; \ 4.81 +1:{ .mib; \ 4.82 + nop.m 0; \ 4.83 + mov r16=ar.pfs; \ 4.84 + br.call.sptk.many b7=2f;; \ 4.85 + }; \ 4.86 +2:{ .mib; \ 4.87 + nop.m 0; \ 4.88 + mov ar.pfs=r16; \ 4.89 + br.ret.sptk.many b6;; \ 4.90 + } 4.91 +#else 4.92 +# define FSYS_RETURN br.ret.sptk.many b6 4.93 +#endif 4.94 + 4.95 +/* 4.96 + * Up until early 2004, use of .align within a function caused bad unwind info. 4.97 + * TEXT_ALIGN(n) expands into ".align n" if a fixed GAS is available or into nothing 4.98 + * otherwise. 4.99 + */ 4.100 +#ifdef HAVE_WORKING_TEXT_ALIGN 4.101 +# define TEXT_ALIGN(n) .align n 4.102 +#else 4.103 +# define TEXT_ALIGN(n) 4.104 +#endif 4.105 + 4.106 +#ifdef HAVE_SERIALIZE_DIRECTIVE 4.107 +# define dv_serialize_data .serialize.data 4.108 +# define dv_serialize_instruction .serialize.instruction 4.109 +#else 4.110 +# define dv_serialize_data 4.111 +# define dv_serialize_instruction 4.112 +#endif 4.113 + 4.114 +#endif /* _ASM_IA64_ASMMACRO_H */