From 392e8802486cb573b916e746010e141a75f507e6 Mon Sep 17 00:00:00 2001 From: Kevin Date: Sat, 15 Nov 2014 09:58:27 +0800 Subject: init android origin source code --- ANDROID_3.4.5/arch/sparc/include/asm/asmmacro.h | 40 +++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 ANDROID_3.4.5/arch/sparc/include/asm/asmmacro.h (limited to 'ANDROID_3.4.5/arch/sparc/include/asm/asmmacro.h') diff --git a/ANDROID_3.4.5/arch/sparc/include/asm/asmmacro.h b/ANDROID_3.4.5/arch/sparc/include/asm/asmmacro.h new file mode 100644 index 00000000..a995bf8a --- /dev/null +++ b/ANDROID_3.4.5/arch/sparc/include/asm/asmmacro.h @@ -0,0 +1,40 @@ +/* asmmacro.h: Assembler macros. + * + * Copyright (C) 1996 David S. Miller (davem@caipfs.rutgers.edu) + */ + +#ifndef _SPARC_ASMMACRO_H +#define _SPARC_ASMMACRO_H + +#include +#include + +#define GET_PROCESSOR4M_ID(reg) \ + rd %tbr, %reg; \ + srl %reg, 12, %reg; \ + and %reg, 3, %reg; + +#define GET_PROCESSOR4D_ID(reg) \ + lda [%g0] ASI_M_VIKING_TMP1, %reg; + +/* All trap entry points _must_ begin with this macro or else you + * lose. It makes sure the kernel has a proper window so that + * c-code can be called. + */ +#define SAVE_ALL_HEAD \ + sethi %hi(trap_setup), %l4; \ + jmpl %l4 + %lo(trap_setup), %l6; +#define SAVE_ALL \ + SAVE_ALL_HEAD \ + nop; + +/* All traps low-level code here must end with this macro. */ +#define RESTORE_ALL b ret_trap_entry; clr %l6; + +/* sun4 probably wants half word accesses to ASI_SEGMAP, while sun4c+ + likes byte accesses. These are to avoid ifdef mania. */ + +#define lduXa lduba +#define stXa stba + +#endif /* !(_SPARC_ASMMACRO_H) */ -- cgit