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