/* $NetBSD: multiboot64.S,v 1.1 2019/09/13 02:19:46 manu Exp $ */ #include <machine/asm.h> #include <machine/specialreg.h> #define CODE_SEGMENT 0x08 #define DATA_SEGMENT 0x10 .align 16 .globl _C_LABEL(multiboot64) _C_LABEL(multiboot64): .quad 0 .globl _C_LABEL(multiboot64_size) _C_LABEL(multiboot64_size): .long multiboot64_end - _C_LABEL(multiboot64_start) .text .p2align 4,,15 /* * multiboot64(entry %rdi, multiboot2_info %rsi, magic %rdx); */ ENTRY(multiboot64_start) start: movq %rdx, %rax movq %rsi, %rbx jmp *%rdi multiboot64_end: |