Subversion Repositories HelenOS-historic

Rev

Rev 216 | Rev 232 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 216 Rev 222
Line 24... Line 24...
24
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
#
27
#
28
 
28
 
-
 
29
#include <arch/boot/boot.h>
-
 
30
 
29
.section K_TEXT_START
31
.section K_TEXT_START
30
.global kernel_image_start
32
.global kernel_image_start
31
 
33
 
32
.code16
34
.code16
33
#
35
#
Line 52... Line 54...
52
	
54
	
53
	movl %cr0,%eax
55
	movl %cr0,%eax
54
	orl $0x1,%eax
56
	orl $0x1,%eax
55
	movl %eax,%cr0			# switch to protected mode
57
	movl %eax,%cr0			# switch to protected mode
56
	jmpl $8,$meeting_point
58
	jmpl $8,$meeting_point
57
meeting_point:
59
 
58
.code32
60
.code32
-
 
61
.align 4
-
 
62
multiboot_header:
-
 
63
	.long MULTIBOOT_HEADER_MAGIC
-
 
64
	.long MULTIBOOT_HEADER_FLAGS
-
 
65
	.long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_HEADER_FLAGS)	# checksum
-
 
66
	.long multiboot_header
-
 
67
	.long unmapped_ktext_start
-
 
68
	.long 0
-
 
69
	.long 0
-
 
70
	.long multiboot_image_start
-
 
71
	
-
 
72
multiboot_image_start:
-
 
73
	movl $0x7c00, %esp		# initialize stack pointer
-
 
74
	
-
 
75
	lgdt gdtr
-
 
76
	lidt idtr
59
 
77
 
-
 
78
meeting_point:
60
	movw $16,%ax
79
	movw $16,%ax
61
	movw %ax,%es
80
	movw %ax,%es
62
	movw %ax,%gs
81
	movw %ax,%gs
63
	movw %ax,%fs
82
	movw %ax,%fs
64
	movw %ax,%ds			# kernel data + stack
83
	movw %ax,%ds			# kernel data + stack