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