summaryrefslogtreecommitdiff
path: root/ANDROID_3.4.5/arch/x86/boot/bioscall.S
diff options
context:
space:
mode:
authorSrikant Patnaik2015-01-11 12:28:04 +0530
committerSrikant Patnaik2015-01-11 12:28:04 +0530
commit871480933a1c28f8a9fed4c4d34d06c439a7a422 (patch)
tree8718f573808810c2a1e8cb8fb6ac469093ca2784 /ANDROID_3.4.5/arch/x86/boot/bioscall.S
parent9d40ac5867b9aefe0722bc1f110b965ff294d30d (diff)
downloadFOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.gz
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.tar.bz2
FOSSEE-netbook-kernel-source-871480933a1c28f8a9fed4c4d34d06c439a7a422.zip
Moved, renamed, and deleted files
The original directory structure was scattered and unorganized. Changes are basically to make it look like kernel structure.
Diffstat (limited to 'ANDROID_3.4.5/arch/x86/boot/bioscall.S')
-rw-r--r--ANDROID_3.4.5/arch/x86/boot/bioscall.S82
1 files changed, 0 insertions, 82 deletions
diff --git a/ANDROID_3.4.5/arch/x86/boot/bioscall.S b/ANDROID_3.4.5/arch/x86/boot/bioscall.S
deleted file mode 100644
index 1dfbf64e..00000000
--- a/ANDROID_3.4.5/arch/x86/boot/bioscall.S
+++ /dev/null
@@ -1,82 +0,0 @@
-/* -----------------------------------------------------------------------
- *
- * Copyright 2009 Intel Corporation; author H. Peter Anvin
- *
- * This file is part of the Linux kernel, and is made available under
- * the terms of the GNU General Public License version 2 or (at your
- * option) any later version; incorporated herein by reference.
- *
- * ----------------------------------------------------------------------- */
-
-/*
- * "Glove box" for BIOS calls. Avoids the constant problems with BIOSes
- * touching registers they shouldn't be.
- */
-
- .code16gcc
- .text
- .globl intcall
- .type intcall, @function
-intcall:
- /* Self-modify the INT instruction. Ugly, but works. */
- cmpb %al, 3f
- je 1f
- movb %al, 3f
- jmp 1f /* Synchronize pipeline */
-1:
- /* Save state */
- pushfl
- pushw %fs
- pushw %gs
- pushal
-
- /* Copy input state to stack frame */
- subw $44, %sp
- movw %dx, %si
- movw %sp, %di
- movw $11, %cx
- rep; movsd
-
- /* Pop full state from the stack */
- popal
- popw %gs
- popw %fs
- popw %es
- popw %ds
- popfl
-
- /* Actual INT */
- .byte 0xcd /* INT opcode */
-3: .byte 0
-
- /* Push full state to the stack */
- pushfl
- pushw %ds
- pushw %es
- pushw %fs
- pushw %gs
- pushal
-
- /* Re-establish C environment invariants */
- cld
- movzwl %sp, %esp
- movw %cs, %ax
- movw %ax, %ds
- movw %ax, %es
-
- /* Copy output state from stack frame */
- movw 68(%esp), %di /* Original %cx == 3rd argument */
- andw %di, %di
- jz 4f
- movw %sp, %si
- movw $11, %cx
- rep; movsd
-4: addw $44, %sp
-
- /* Restore state and return */
- popal
- popw %gs
- popw %fs
- popfl
- retl
- .size intcall, .-intcall