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