summaryrefslogtreecommitdiffstats
path: root/target/linux/olpc/files/arch/i386/kernel/olpc-wakeup.S
diff options
context:
space:
mode:
authorryd <ryd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-02-19 04:03:49 +0000
committerryd <ryd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2008-02-19 04:03:49 +0000
commite4a3634c00818e77664da2c3592a95e8c8fad5d6 (patch)
tree5aec8287ecd3034c53cbbeb5a6408389b1d34507 /target/linux/olpc/files/arch/i386/kernel/olpc-wakeup.S
parentac24192a897d17c7416cfc1a58ad5432404662de (diff)
Adding .24 support for olpc
kernel compiles fine, but graphic support is broken to test new kernel version, change target/linux/olpc/Makefile from .23.16 to .24 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10493 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/olpc/files/arch/i386/kernel/olpc-wakeup.S')
-rw-r--r--target/linux/olpc/files/arch/i386/kernel/olpc-wakeup.S122
1 files changed, 0 insertions, 122 deletions
diff --git a/target/linux/olpc/files/arch/i386/kernel/olpc-wakeup.S b/target/linux/olpc/files/arch/i386/kernel/olpc-wakeup.S
deleted file mode 100644
index a92cc61e2..000000000
--- a/target/linux/olpc/files/arch/i386/kernel/olpc-wakeup.S
+++ /dev/null
@@ -1,122 +0,0 @@
-.text
-#include <linux/linkage.h>
-#include <asm/segment.h>
-#include <asm/page.h>
-
-ALIGN
- .align 4096
-
-wakeup_start:
-# jmp wakeup_start
-
- cli
- cld
-
- # Clear any dangerous flags
-
- pushl $0
- popfl
-
- # Set up %cr3
- movl $swsusp_pg_dir - __PAGE_OFFSET, %eax
- movl %eax, %cr3
-
- movl saved_cr4, %eax
- movl %eax, %cr4
-
- movl saved_cr0, %eax
- movl %eax, %cr0
-
- jmp 1f
-1:
- ljmpl $__KERNEL_CS,$wakeup_return
-
-
-.org 0x1000
-
-wakeup_return:
- movw $__KERNEL_DS, %ax
- movw %ax, %ss
- movw %ax, %ds
- movw %ax, %es
- movw %ax, %fs
- movw %ax, %gs
-
- lgdt saved_gdt
- lidt saved_idt
- lldt saved_ldt
- ljmp $(__KERNEL_CS),$1f
-1:
- movl %cr3, %eax
- movl %eax, %cr3
- wbinvd
-
- # Go back to the return point
- jmp ret_point
-
-save_registers:
- sgdt saved_gdt
- sidt saved_idt
- sldt saved_ldt
-
- pushl %edx
- movl %cr4, %edx
- movl %edx, saved_cr4
-
- movl %cr0, %edx
- movl %edx, saved_cr0
-
- popl %edx
-
-
- movl %ebx, saved_context_ebx
- movl %ebp, saved_context_ebp
- movl %esi, saved_context_esi
- movl %edi, saved_context_edi
-
- pushfl
- popl saved_context_eflags
-
- ret
-
-
-restore_registers:
- movl saved_context_ebp, %ebp
- movl saved_context_ebx, %ebx
- movl saved_context_esi, %esi
- movl saved_context_edi, %edi
-
- pushl saved_context_eflags
- popfl
-
- ret
-
-
-ENTRY(do_olpc_suspend_lowlevel)
- call save_processor_state
- call save_registers
-
- # This is the stack context we want to remember
- movl %esp, saved_context_esp
-
- pushl $3
- call olpc_do_sleep
-
- jmp wakeup_start
- .p2align 4,,7
-ret_point:
- movl saved_context_esp, %esp
-
- call restore_registers
- call restore_processor_state
- ret
-
-.data
-ALIGN
-
-saved_gdt: .long 0,0
-saved_idt: .long 0,0
-saved_ldt: .long 0
-saved_cr4: .long 0
-saved_cr0: .long 0
-