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 ---