2006-09-27 15:20:22 +08:00
|
|
|
/*
|
|
|
|
* 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>
|
2008-07-29 07:09:44 +08:00
|
|
|
#include <cpu/mmu_context.h>
|
2006-09-27 15:20:22 +08:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Kernel mode register usage:
|
|
|
|
* k0 scratch
|
|
|
|
* k1 scratch
|
2009-02-23 15:14:02 +08:00
|
|
|
* For more details, please have a look at entry.S
|
2006-09-27 15:20:22 +08:00
|
|
|
*/
|
|
|
|
|
2009-02-23 15:14:02 +08:00
|
|
|
#define k0 r0
|
|
|
|
#define k1 r1
|
|
|
|
|
2006-09-27 15:20:22 +08:00
|
|
|
ENTRY(wakeup_start)
|
|
|
|
! clear STBY bit
|
2009-02-23 15:14:02 +08:00
|
|
|
mov #-126, k1
|
2006-09-27 15:20:22 +08:00
|
|
|
and #127, k0
|
2009-02-23 15:14:02 +08:00
|
|
|
mov.b k0, @k1
|
2006-09-27 15:20:22 +08:00
|
|
|
! enable refresh
|
|
|
|
mov.l 5f, k1
|
|
|
|
mov.w 6f, k0
|
|
|
|
mov.w k0, @k1
|
|
|
|
! jump to handler
|
|
|
|
mov.l 4f, k1
|
|
|
|
jmp @k1
|
2009-02-23 15:14:02 +08:00
|
|
|
nop
|
2006-09-27 15:20:22 +08:00
|
|
|
|
|
|
|
.align 2
|
2009-02-23 15:14:02 +08:00
|
|
|
4: .long handle_interrupt
|
2006-09-27 15:20:22 +08:00
|
|
|
5: .long 0xffffff68
|
|
|
|
6: .word 0x0524
|
|
|
|
|
|
|
|
ENTRY(wakeup_end)
|
|
|
|
nop
|