Subversion Repositories shark

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 pj 1
/* Project:     OSLib
2
 * Description: The OS Construction Kit
3
 * Date:                1.6.2000
4
 * Idea by:             Luca Abeni & Gerardo Lamastra
5
 *
6
 * OSLib is an SO project aimed at developing a common, easy-to-use
7
 * low-level infrastructure for developing OS kernels and Embedded
8
 * Applications; it partially derives from the HARTIK project but it
9
 * currently is independently developed.
10
 *
11
 * OSLib is distributed under GPL License, and some of its code has
12
 * been derived from the Linux kernel source; also some important
13
 * ideas come from studying the DJGPP go32 extender.
14
 *
15
 * We acknowledge the Linux Community, Free Software Foundation,
16
 * D.J. Delorie and all the other developers who believe in the
17
 * freedom of software and ideas.
18
 *
19
 * For legalese, check out the included GPL license.
20
 */
21
 
22
/* Virtual VM86 Mode swith return handler 			 */
23
 
24
.title	"vm86-exc.S"
25
 
26
#include <ll/i386/sel.h>
27
#include <ll/i386/linkage.h>
28
#include <ll/i386/defs.h>
29
 
30
 
31
#ifdef __LINUX__
32
# define P2ALIGN(p2)	.align	(1<<(p2))
33
#else
34
# define P2ALIGN(p2)	.align	p2
35
#endif
36
#ifdef __LINUX__
37
#define FUNCSYM(x)	.type    x,@function
38
#else
39
#define FUNCSYM(x)	/* nothing */
40
#endif
41
 
42
#define TEXT_ALIGN	4
43
 
44
.data
45
 
46
ASMFILE(VM86-Exc)
47
 
48
.text
49
		.globl SYMBOL_NAME(vm86_exc)
50
 
51
SYMBOL_NAME_LABEL(vm86_exc)
52
/*
53
			movl $0xAAAA, %eax
54
			movl $0xBBBB, %ebx
55
			movl $0xCCCC, %ecx
56
			movl $0xDDDD, %edx
57
*/
58
			pushal
59
			pushfl
60
			movw	$(X_FLATDATA_SEL),%ax
61
			movw	%ax,%es
62
			movw	%ax,%ds
63
/*
64
			movl	$0xB8020,%edi
65
			movl	$'*',%ds:(%edi)
66
			pushl	$1
67
*/
68
			cld
69
			pushl	%esp
70
			call	SYMBOL_NAME(vm86_return)
71
			addl	$4,%esp
72
			iret
73