Home | History | Annotate | Download | only in lib

Lines Matching defs:mbt

165 	struct multiboot_tag *mbt;
186 mbt = (struct multiboot_tag *)(uint32_t *)mbi + 2;
187 actual_size = (char *)mbt - mbi;
193 cp = cp + roundup(mbt->size, MULTIBOOT_TAG_ALIGN)) {
194 mbt = (struct multiboot_tag *)cp;
195 actual_size += roundup(mbt->size, MULTIBOOT_TAG_ALIGN);
198 i++, mbt->type, mbi_tag_name(mbt->type), mbt->size);
200 switch (mbt->type) {
203 ((struct multiboot_tag_string *)mbt)->string);
207 ((struct multiboot_tag_string *)mbt)->string);
212 ((struct multiboot_tag_module *)mbt)->mod_start,
213 ((struct multiboot_tag_module *)mbt)->mod_end,
214 ((struct multiboot_tag_module *)mbt)->cmdline);
219 meminfo = (struct multiboot_tag_basic_meminfo *)mbt;
226 ((struct multiboot_tag_bootdev *)mbt)->biosdev,
227 ((struct multiboot_tag_bootdev *)mbt)->slice,
228 ((struct multiboot_tag_bootdev *)mbt)->part);
237 memmap = (struct multiboot_tag_mmap *)mbt;
243 for (mmap = ((struct multiboot_tag_mmap *)mbt)->entries;
244 (char *)mmap - (char *)mbt < mbt->size;
254 struct multiboot_tag_framebuffer *fb = (void *)mbt;
261 mbi_hexdump((char *)mbt, mbt->size);
266 ((struct multiboot_tag_elf_sections *)mbt)->num,
267 ((struct multiboot_tag_elf_sections *)mbt)->entsize,
268 ((struct multiboot_tag_elf_sections *)mbt)->shndx);
269 mbi_hexdump((char *)mbt, mbt->size);
276 ((struct multiboot_tag_apm *)mbt)->version,
277 ((struct multiboot_tag_apm *)mbt)->cseg,
278 ((struct multiboot_tag_apm *)mbt)->offset,
279 ((struct multiboot_tag_apm *)mbt)->cseg_16,
280 ((struct multiboot_tag_apm *)mbt)->dseg,
281 ((struct multiboot_tag_apm *)mbt)->flags,
282 ((struct multiboot_tag_apm *)mbt)->cseg_len,
283 ((struct multiboot_tag_apm *)mbt)->cseg_16_len,
284 ((struct multiboot_tag_apm *)mbt)->dseg_len);
288 ((struct multiboot_tag_efi32 *)mbt)->pointer);
292 ((struct multiboot_tag_efi64 *)mbt)->pointer);
296 ((struct multiboot_tag_smbios *)mbt)->major,
297 ((struct multiboot_tag_smbios *)mbt)->minor);
298 mbi_hexdump((char *)mbt, mbt->size);
302 mbi_hexdump((char *)mbt, mbt->size);
306 mbi_hexdump((char *)mbt, mbt->size);
310 mbi_hexdump((char *)mbt, mbt->size);
314 mbi_hexdump((char *)mbt, mbt->size);
321 ((struct multiboot_tag_efi32_ih *)mbt)->pointer);
325 ((struct multiboot_tag_efi64_ih *)mbt)->pointer);
328 struct multiboot_tag_load_base_addr *ld = (void *)mbt;
336 mbi_hexdump((char *)mbt, mbt->size);
458 struct multiboot_tag_string *mbt = buf;
466 len = sizeof(*mbt) + cmdlen;
468 if (mbt) {
469 mbt->type = MULTIBOOT_TAG_TYPE_CMDLINE;
470 mbt->size = len;
471 (void)snprintf(mbt->string, cmdlen, fmt,
481 struct multiboot_tag_string *mbt = buf;
491 len = sizeof(*mbt) + strlen;
493 if (mbt) {
494 mbt->type = MULTIBOOT_TAG_TYPE_BOOT_LOADER_NAME;
495 mbt->size = len;
496 (void)snprintf(mbt->string, strlen, fmt, bootprog_name,
506 struct multiboot_tag_module *mbt = buf;
519 size_t mbt_len = sizeof(*mbt) + pathlen;
523 if (mbt) {
524 mbt->type = MULTIBOOT_TAG_TYPE_MODULE;
525 mbt->size = mbt_len;
526 mbt->mod_start = bim->base;
527 mbt->mod_end = bim->base + bim->len;
528 strncpy(mbt->cmdline, bim->path, pathlen);
530 mbt = (struct multiboot_tag_module *)
531 ((char *)mbt + mbt_len_align);
541 struct multiboot_tag_basic_meminfo *mbt = buf;
544 len = sizeof(*mbt);
546 if (mbt) {
547 mbt->type = MULTIBOOT_TAG_TYPE_BASIC_MEMINFO;
548 mbt->size = len;
549 mbt->mem_lower = mbp->mbp_basemem;
550 mbt->mem_upper = mbp->mbp_extmem;
559 struct multiboot_tag_bootdev *mbt = buf;
562 len = sizeof(*mbt);
570 if (mbt) {
571 mbt->type = MULTIBOOT_TAG_TYPE_BOOTDEV;
572 mbt->size = len;
573 mbt->biosdev = bi_disk.biosdev;
574 mbt->slice = bi_disk.partition;
575 mbt->part = 0xFFFFFFFF; /* aka sub_partition, for disklabel */
586 struct multiboot_tag_mmap *mbt = buf;
603 len = sizeof(*mbt) + num * sizeof(mbt->entries[0]);
605 if (mbt) {
609 mbt->type = MULTIBOOT_TAG_TYPE_MMAP;
610 mbt->size = len;
611 mbt->entry_size = sizeof(mbt->entries[0]);
612 mbt->entry_version = 0;
614 mbte = (struct multiboot_mmap_entry *)(mbt + 1);
655 struct multiboot_tag_vbe *mbt = buf;
657 len = sizeof(*mbt);
659 if (mbt) {
660 mbt->type = MULTIBOOT_TAG_TYPE_VBE;
661 mbt->size = len;
662 mbt->vbe_mode = btinfo_framebuffer.vbemode;
663 mbt->vbe_interface_seg = 0;
664 mbt->vbe_interface_off = 0;
665 mbt->vbe_interface_len = 0;
666 biosvbe_info((struct vbeinfoblock *)&mbt->vbe_control_info);
667 biosvbe_get_mode_info(mbt->vbe_mode,
668 (struct modeinfoblock *)&mbt->vbe_mode_info);
678 struct multiboot_tag_framebuffer *mbt = buf;
693 len = sizeof(*mbt);
695 if (mbt) {
696 mbt->common.type = MULTIBOOT_TAG_TYPE_FRAMEBUFFER;
697 mbt->common.size = len;
698 mbt->common.reserved = 0;
707 mbt->common.framebuffer_addr = CGA_BUF;
708 mbt->common.framebuffer_width = width;
709 mbt->common.framebuffer_height = height;
710 mbt->common.framebuffer_bpp = charlen * 8;
711 mbt->common.framebuffer_pitch = width * charlen;
712 mbt->common.framebuffer_type =
715 mbt->common.framebuffer_addr = fb->physaddr;
716 mbt->common.framebuffer_pitch = fb->stride;
717 mbt->common.framebuffer_width = fb->width;
718 mbt->common.framebuffer_height = fb->height;
719 mbt->common.framebuffer_bpp = fb->depth;
720 mbt->common.framebuffer_type =
724 mbt->common.framebuffer_type =
729 switch (mbt->common.framebuffer_type) {
732 mbt->framebuffer_palette_num_colors = 256;
735 mbt->framebuffer_palette[i].red =
737 mbt->framebuffer_palette[i].green =
739 mbt->framebuffer_palette[i].blue =
745 mbt->framebuffer_red_field_position = fb->rpos;
746 mbt->framebuffer_red_mask_size = fb->rnum;
747 mbt->framebuffer_green_field_position = fb->gpos;
748 mbt->framebuffer_green_mask_size = fb->gnum;
749 mbt->framebuffer_blue_field_position = fb->bpos;
750 mbt->framebuffer_blue_mask_size = fb->bnum;
764 struct multiboot_tag_old_acpi *mbt = buf;
796 len = sizeof(*mbt) + sizeof(rsdp);
797 if (mbt) {
798 mbt->type = MULTIBOOT_TAG_TYPE_ACPI_OLD;
799 mbt->size = len;
800 pvbcopy((void *)(vaddr_t)rsdp_phys, mbt->rsdp, sizeof(rsdp));
810 struct multiboot_tag_new_acpi *mbt = buf;
841 len = sizeof(*mbt) + sizeof(rsdp);
842 if (mbt) {
843 mbt->type = MULTIBOOT_TAG_TYPE_ACPI_NEW;
844 mbt->size = len;
845 pvbcopy((void *)(vaddr_t)rsdp_phys, mbt->rsdp, sizeof(rsdp));
856 struct multiboot_tag_apm *mbt = buf;
858 len = sizeof(*mbt):
860 if (mbt) {
861 mbt->type = MULTIBOOT_TAG_TYPE_A;
862 mbt->size = len;
863 mbt->version = 0;
864 mbt->cseg = 0;
865 mbt->offset = 0;
866 mbt->cseg_16 = 0;
867 mbt->dseg = 0;
868 mbt->flags = 0;
869 mbt->cseg_len = 0;
870 mbt->cseg_16_len = 0;
871 mbt->dseg_len = 0;
882 struct multiboot_tag_smbios *mbt = buf;
940 len = sizeof(*mbt) + smbios_len;
941 if (mbt) {
942 mbt->type = MULTIBOOT_TAG_TYPE_SMBIOS;
943 mbt->size = len;
944 mbt->major = major;
945 mbt->minor = minor;
946 pvbcopy(smbios_phys, mbt->tables, smbios_len);
957 struct multiboot_tag_network *mbt = buf;
962 len = sizeof(*mbt) + saved_dhcpack_len;
964 if (mbt) {
965 mbt->type = MULTIBOOT_TAG_TYPE_NETWORK;
966 mbt->size = len;
967 memcpy(mbt->dhcpack, saved_dhcpack, saved_dhcpack_len);
978 struct multiboot_tag_elf_sections *mbt = buf;
1025 len = sizeof(*mbt) + shdr_len;
1026 if (mbt) {
1029 mbt->type = MULTIBOOT_TAG_TYPE_ELF_SECTIONS;
1030 mbt->size = len;
1031 mbt->num = shnum;
1032 mbt->entsize = shentsize;
1033 mbt->shndx = shstrndx;
1035 pvbcopy((void *)shdr, mbt + 1, shdr_len);
1041 ksyms_addr_set(&ehdr, mbt + 1,
1052 struct multiboot_tag *mbt = buf;
1053 size_t len = sizeof(*mbt);
1055 if (mbt) {
1056 mbt->type = MULTIBOOT_TAG_TYPE_END;
1057 mbt->size = len;
1067 struct multiboot_tag_load_base_addr *mbt = buf;
1069 len = sizeof(*mbt);
1071 if (mbt) {
1072 mbt->type = MULTIBOOT_TAG_TYPE_LOAD_BASE_ADDR;
1073 mbt->size = len;
1074 mbt->load_base_addr = mbp->mbp_marks[MARK_START];
1085 struct multiboot_tag *mbt = buf;
1090 len = sizeof(*mbt);
1092 if (mbt) {
1093 mbt->type = MULTIBOOT_TAG_TYPE_EFI_BS;
1094 mbt->size = len;
1106 struct multiboot_tag_efi_mmap *mbt = buf;
1113 len = sizeof(*mbt) + memmap_len;
1115 if (mbt) {
1116 mbt->type = MULTIBOOT_TAG_TYPE_EFI_MMAP;
1117 mbt->size = len;
1118 mbt->descr_size = btinfo_efimemmap->size;
1119 mbt->descr_vers = btinfo_efimemmap->version;
1120 memcpy(mbt + 1, btinfo_efimemmap->memmap, memmap_len);
1134 struct multiboot_tag_efi32_ih *mbt = buf;
1136 len = sizeof(*mbt);
1138 if (mbt) {
1139 mbt->type = MULTIBOOT_TAG_TYPE_EFI32_IH;
1140 mbt->size = len;
1141 mbt->pointer = (multiboot_uint32_t)IH;
1150 struct multiboot_tag_efi32 *mbt = buf;
1152 len = sizeof(*mbt);
1154 if (mbt) {
1155 mbt->type = MULTIBOOT_TAG_TYPE_EFI32;
1156 mbt->size = len;
1157 mbt->pointer = (multiboot_uint32_t)ST;
1168 struct multiboot_tag_efi64_ih *mbt = buf;
1170 len = sizeof(*mbt);
1172 if (mbt) {
1173 mbt->type = MULTIBOOT_TAG_TYPE_EFI64_IH;
1174 mbt->size = len;
1175 mbt->pointer = (multiboot_uint64_t)IH;
1184 struct multiboot_tag_efi64 *mbt = buf;
1186 len = sizeof(*mbt);
1188 if (mbt) {
1189 mbt->type = MULTIBOOT_TAG_TYPE_EFI64;
1190 mbt->size = len;
1191 mbt->pointer = (multiboot_uint64_t)ST;
1459 is_header_required(struct multiboot_header_tag *mbt)
1463 if (mbt == NULL)
1466 if (mbt->flags & MULTIBOOT_HEADER_TAG_OPTIONAL)
1474 #define NEXT_HEADER(mbt) ((struct multiboot_header_tag *) \
1475 ((char *)mbt + roundup(mbt->size, MULTIBOOT_HEADER_ALIGN)))
1486 struct multiboot_header_tag *mbt;
1541 for (mbt = (struct multiboot_header_tag *)(mbh + 1);
1542 (char *)mbt - (char *)mbh < mbh_len;
1543 mbt = NEXT_HEADER(mbt)) {
1545 switch(mbt->type) {
1547 mbp->mbp_priv->mpp_info_req = (void *)mbt;
1550 mbp->mbp_priv->mpp_address = (void *)mbt;
1553 mbp->mbp_priv->mpp_entry = (void *)mbt;
1556 mbp->mbp_priv->mpp_console = (void *)mbt;
1559 mbp->mbp_priv->mpp_framebuffer = (void *)mbt;
1562 mbp->mbp_priv->mpp_module_align = (void *)mbt;
1566 mbp->mbp_priv->mpp_efi_bs = (void *)mbt;
1569 mbp->mbp_priv->mpp_entry_elf32 = (void *)mbt;
1572 mbp->mbp_priv->mpp_entry_elf64 = (void *)mbt;
1576 mbp->mbp_priv->mpp_relocatable = (void *)mbt;