amd64_tramp.S (128716) | amd64_tramp.S (129240) |
---|---|
1/*- 2 * Copyright (c) 2003 Peter Wemm <peter@FreeBSD.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * | 1/*- 2 * Copyright (c) 2003 Peter Wemm <peter@FreeBSD.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright --- 9 unchanged lines hidden (view full) --- 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * |
26 * $FreeBSD: head/sys/boot/i386/libi386/amd64_tramp.S 128716 2004-04-28 14:31:44Z ru $ | 26 * $FreeBSD: head/sys/boot/i386/libi386/amd64_tramp.S 129240 2004-05-14 20:29:30Z ru $ |
27 */ 28 29/* 30 * Quick and dirty trampoline to get into 64 bit (long) mode and running 31 * with paging enabled so that we enter the kernel at its linked address. 32 */ 33#define MSR_EFER 0xc0000080 34#define EFER_LME 0x00000100 --- 16 unchanged lines hidden (view full) --- 51PT3: 52 .space 0x1000 53 .globl PT2 54PT2: 55 .space 0x1000 56 57gdtdesc: 58 .word gdtend - gdt | 27 */ 28 29/* 30 * Quick and dirty trampoline to get into 64 bit (long) mode and running 31 * with paging enabled so that we enter the kernel at its linked address. 32 */ 33#define MSR_EFER 0xc0000080 34#define EFER_LME 0x00000100 --- 16 unchanged lines hidden (view full) --- 51PT3: 52 .space 0x1000 53 .globl PT2 54PT2: 55 .space 0x1000 56 57gdtdesc: 58 .word gdtend - gdt |
59 .long VTOP(gdt) // low 60 .long 0 // high | 59 .long VTOP(gdt) # low 60 .long 0 # high |
61 62gdt: | 61 62gdt: |
63 .long 0 // null descriptor | 63 .long 0 # null descriptor |
64 .long 0 | 64 .long 0 |
65 .long 0x00000000 // %cs | 65 .long 0x00000000 # %cs |
66 .long 0x00209800 | 66 .long 0x00209800 |
67 .long 0x00000000 // %ds | 67 .long 0x00000000 # %ds |
68 .long 0x00008000 69gdtend: 70 71 .text 72 .code32 73 74 .globl amd64_tramp 75amd64_tramp: --- 38 unchanged lines hidden --- | 68 .long 0x00008000 69gdtend: 70 71 .text 72 .code32 73 74 .globl amd64_tramp 75amd64_tramp: --- 38 unchanged lines hidden --- |