entry.S (88707ebe77e23e856981e597f322cabbf6415662) | entry.S (adc4cefae9cfafc1c88b789021266d6f09a0ecef) |
---|---|
1/* 2 * Low-level system-call handling, trap handlers and context-switching 3 * 4 * Copyright (C) 2008-2009 Michal Simek <monstr@monstr.eu> 5 * Copyright (C) 2008-2009 PetaLogix 6 * Copyright (C) 2003 John Williams <jwilliams@itee.uq.edu.au> 7 * Copyright (C) 2001,2002 NEC Corporation 8 * Copyright (C) 2001,2002 Miles Bader <miles@gnu.org> --- 13 unchanged lines hidden (view full) --- 22#include <asm/current.h> 23#include <asm/processor.h> 24#include <asm/exceptions.h> 25#include <asm/asm-offsets.h> 26#include <asm/thread_info.h> 27 28#include <asm/page.h> 29#include <asm/unistd.h> | 1/* 2 * Low-level system-call handling, trap handlers and context-switching 3 * 4 * Copyright (C) 2008-2009 Michal Simek <monstr@monstr.eu> 5 * Copyright (C) 2008-2009 PetaLogix 6 * Copyright (C) 2003 John Williams <jwilliams@itee.uq.edu.au> 7 * Copyright (C) 2001,2002 NEC Corporation 8 * Copyright (C) 2001,2002 Miles Bader <miles@gnu.org> --- 13 unchanged lines hidden (view full) --- 22#include <asm/current.h> 23#include <asm/processor.h> 24#include <asm/exceptions.h> 25#include <asm/asm-offsets.h> 26#include <asm/thread_info.h> 27 28#include <asm/page.h> 29#include <asm/unistd.h> |
30#include <asm/xilinx_mb_manager.h> |
|
30 31#include <linux/errno.h> 32#include <asm/signal.h> 33#include <asm/mmu.h> 34 35#undef DEBUG 36 37#ifdef DEBUG --- 1108 unchanged lines hidden (view full) --- 1146 mts rfsr, r12 1147 lwi r12, r11, CC_MSR 1148 mts rmsr, r12 1149 1150 rtsd r15, 8 1151 nop 1152 1153#ifdef CONFIG_MB_MANAGER | 31 32#include <linux/errno.h> 33#include <asm/signal.h> 34#include <asm/mmu.h> 35 36#undef DEBUG 37 38#ifdef DEBUG --- 1108 unchanged lines hidden (view full) --- 1147 mts rfsr, r12 1148 lwi r12, r11, CC_MSR 1149 mts rmsr, r12 1150 1151 rtsd r15, 8 1152 nop 1153 1154#ifdef CONFIG_MB_MANAGER |
1155.global xmb_inject_err 1156.section .text 1157.align 2 1158.ent xmb_inject_err 1159.type xmb_inject_err, @function 1160xmb_inject_err: 1161 addik r1, r1, -PT_SIZE 1162 SAVE_REGS 1163 1164 /* Switch to real mode */ 1165 VM_OFF; 1166 set_bip; 1167 mbar 1 1168 mbar 2 1169 bralid r15, XMB_INJECT_ERR_OFFSET 1170 nop; 1171 1172 /* enable virtual mode */ 1173 set_vms; 1174 /* barrier for instructions and data accesses */ 1175 mbar 1 1176 mbar 2 1177 /* 1178 * Enable Interrupts, Virtual Protected Mode, equalize 1179 * initial state for all possible entries. 1180 */ 1181 rtbd r0, 1f 1182 nop; 11831: 1184 RESTORE_REGS 1185 addik r1, r1, PT_SIZE 1186 rtsd r15, 8; 1187 nop; 1188.end xmb_inject_err 1189 |
|
1154.section .data 1155.global xmb_manager_dev 1156.global xmb_manager_baseaddr 1157.global xmb_manager_crval 1158.global xmb_manager_callback 1159.global xmb_manager_reset_callback 1160.global xmb_manager_stackpointer 1161.align 4 --- 58 unchanged lines hidden (view full) --- 1220 brai TOPHYS(_xmb_manager_break); /* microblaze manager break handler */ 1221#else 1222 .org 0x18 1223 brai TOPHYS(_debug_exception); /* debug trap handler */ 1224#endif 1225 .org 0x20 1226 brai TOPHYS(_hw_exception_handler); /* HW exception handler */ 1227 | 1190.section .data 1191.global xmb_manager_dev 1192.global xmb_manager_baseaddr 1193.global xmb_manager_crval 1194.global xmb_manager_callback 1195.global xmb_manager_reset_callback 1196.global xmb_manager_stackpointer 1197.align 4 --- 58 unchanged lines hidden (view full) --- 1256 brai TOPHYS(_xmb_manager_break); /* microblaze manager break handler */ 1257#else 1258 .org 0x18 1259 brai TOPHYS(_debug_exception); /* debug trap handler */ 1260#endif 1261 .org 0x20 1262 brai TOPHYS(_hw_exception_handler); /* HW exception handler */ 1263 |
1264#ifdef CONFIG_MB_MANAGER 1265 /* 1266 * For TMR Inject API which injects the error should 1267 * be executed from LMB. 1268 * TMR Inject is programmed with address of 0x200 so that 1269 * when program counter matches with this address error will 1270 * be injected. 0x200 is expected to be next available bram 1271 * offset, hence used for this api. 1272 */ 1273 .org XMB_INJECT_ERR_OFFSET 1274xmb_inject_error: 1275 nop 1276 rtsd r15, 8 1277 nop 1278#endif 1279 |
|
1228.section .rodata,"a" 1229#include "syscall_table.S" 1230 1231syscall_table_size=(.-sys_call_table) 1232 1233type_SYSCALL: 1234 .ascii "SYSCALL\0" 1235type_IRQ: --- 24 unchanged lines hidden --- | 1280.section .rodata,"a" 1281#include "syscall_table.S" 1282 1283syscall_table_size=(.-sys_call_table) 1284 1285type_SYSCALL: 1286 .ascii "SYSCALL\0" 1287type_IRQ: --- 24 unchanged lines hidden --- |