1/* 2 * This file and its contents are supplied under the terms of the 3 * Common Development and Distribution License ("CDDL"), version 1.0. 4 * You may only use this file in accordance with the terms of version 5 * 1.0 of the CDDL. 6 * 7 * A full copy of the text of the CDDL should have accompanied this 8 * source. A copy of the CDDL is also available via the Internet at 9 * http://www.illumos.org/license/CDDL. 10 */ 11 12/* 13 * Copyright 2018 Toomas Soome <tsoome@me.com> 14 */ 15 16 .file "mb_header.S" 17 18/* 19 * Provide fake multiboot header to support versioning and partition 20 * start. The fake MB header is used by versioning code located in 21 * usr/src/cmd/boot/common. Since the BIOS bootblock is stored on raw disk, 22 * this fake header is used to store the location of the version info block. 23 * Additionally we use it to store partition start_sector, so we can identify 24 * our root file system partition. Note we are using LBA64 here. 25 */ 26 27#define ASM_FILE 28#include <sys/multiboot.h> 29 30 .globl mb_header, start_sector 31 .text 32 33 .align 4 34mb_header: 35 .long MULTIBOOT_HEADER_MAGIC 36 .long MULTIBOOT_AOUT_KLUDGE 37 .long -(MULTIBOOT_HEADER_MAGIC + MULTIBOOT_AOUT_KLUDGE) 38 .long 0 /* header_addr */ 39 .long 0 /* load_addr */ 40 .long 0 /* load_end_addr */ 41start_sector: .long 0 /* partition LBA */ 42 .long 0 43 44