1 /* $NetBSD: multiboot32.S,v 1.1 2019/09/13 02:19:45 manu Exp $ */ 2 3 #include <machine/asm.h> 4 #include <machine/specialreg.h> 5 6 .align 16 7 .globl _C_LABEL(multiboot32) 8 _C_LABEL(multiboot32): 9 .quad 0 10 11 .globl _C_LABEL(multiboot32_size) 12 _C_LABEL(multiboot32_size): 13 .long multiboot32_end - _C_LABEL(multiboot32_start) 14 15 .text 16 .p2align 4,,15 17 18 /* 19 * multiboot32(entry 8(%esp), multiboot2_info 12(%esp), magic 16(%esp)) 20 */ 21 ENTRY(multiboot32_start) 22 start: 23 movl 16(%esp),%eax 24 movl 12(%esp),%ebx 25 movl 8(%esp),%edx 26 jmp *%edx 27 multiboot32_end: 28