/* | |
* Copyright (c) 2006 Andriy Skulysh <askulsyh@gmail.com> | |
* | |
* This file is subject to the terms and conditions of the GNU General Public | |
* License. See the file "COPYING" in the main directory of this archive | |
* for more details. | |
* | |
*/ | |
#include <linux/linkage.h> | |
#include <cpu/mmu_context.h> | |
/* | |
* Kernel mode register usage: | |
* k0 scratch | |
* k1 scratch | |
* For more details, please have a look at entry.S | |
*/ | |
#define k0 r0 | |
#define k1 r1 | |
ENTRY(wakeup_start) | |
! clear STBY bit | |
mov #-126, k1 | |
and #127, k0 | |
mov.b k0, @k1 | |
! enable refresh | |
mov.l 5f, k1 | |
mov.w 6f, k0 | |
mov.w k0, @k1 | |
! jump to handler | |
mov.l 4f, k1 | |
jmp @k1 | |
nop | |
.align 2 | |
4: .long handle_interrupt | |
5: .long 0xffffff68 | |
6: .word 0x0524 | |
ENTRY(wakeup_end) | |
nop |