Home | History | Annotate | Line # | Download | only in bootx64
multiboot64.S revision 1.1.12.2
      1  1.1.12.2  martin /*	$NetBSD: multiboot64.S,v 1.1.12.2 2020/04/13 08:03:54 martin Exp $ */
      2  1.1.12.2  martin #include <machine/asm.h>
      3  1.1.12.2  martin #include <machine/specialreg.h>
      4  1.1.12.2  martin 
      5  1.1.12.2  martin #define CODE_SEGMENT    0x08
      6  1.1.12.2  martin #define DATA_SEGMENT    0x10
      7  1.1.12.2  martin 
      8  1.1.12.2  martin 	.align	16
      9  1.1.12.2  martin 	.globl _C_LABEL(multiboot64)
     10  1.1.12.2  martin _C_LABEL(multiboot64):
     11  1.1.12.2  martin 	.quad 0
     12  1.1.12.2  martin 
     13  1.1.12.2  martin 	.globl _C_LABEL(multiboot64_size)
     14  1.1.12.2  martin _C_LABEL(multiboot64_size):
     15  1.1.12.2  martin 	.long multiboot64_end - _C_LABEL(multiboot64_start)
     16  1.1.12.2  martin 
     17  1.1.12.2  martin 	.text
     18  1.1.12.2  martin 	.p2align 4,,15
     19  1.1.12.2  martin 
     20  1.1.12.2  martin /*
     21  1.1.12.2  martin  * multiboot64(entry %rdi, multiboot2_info %rsi, magic %rdx);
     22  1.1.12.2  martin  */
     23  1.1.12.2  martin ENTRY(multiboot64_start)
     24  1.1.12.2  martin start:
     25  1.1.12.2  martin 
     26  1.1.12.2  martin         movq    %rdx, %rax
     27  1.1.12.2  martin 	movq    %rsi, %rbx
     28  1.1.12.2  martin 	jmp    *%rdi
     29  1.1.12.2  martin multiboot64_end:
     30