Changeset View
Changeset View
Standalone View
Standalone View
stand/efi/loader/bootinfo.c
Show First 20 Lines • Show All 298 Lines • ▼ Show 20 Lines | bi_load_efi_data(struct preloaded_file *kfp) | ||||
struct efi_map_header *efihdr; | struct efi_map_header *efihdr; | ||||
bool do_vmap; | bool do_vmap; | ||||
#if defined(__amd64__) || defined(__aarch64__) | #if defined(__amd64__) || defined(__aarch64__) | ||||
struct efi_fb efifb; | struct efi_fb efifb; | ||||
efifb.fb_addr = gfx_state.tg_fb.fb_addr; | efifb.fb_addr = gfx_state.tg_fb.fb_addr; | ||||
efifb.fb_size = gfx_state.tg_fb.fb_size; | efifb.fb_size = gfx_state.tg_fb.fb_size; | ||||
/* | |||||
* If we have rotated the framebuffer height and width, rotate them back | |||||
* before passing them to the kernel | |||||
*/ | |||||
if (rotation == 90 || rotation == 270) { | |||||
efifb.fb_height = gfx_state.tg_fb.fb_width; | |||||
efifb.fb_width = gfx_state.tg_fb.fb_height; | |||||
} else { | |||||
efifb.fb_height = gfx_state.tg_fb.fb_height; | efifb.fb_height = gfx_state.tg_fb.fb_height; | ||||
efifb.fb_width = gfx_state.tg_fb.fb_width; | efifb.fb_width = gfx_state.tg_fb.fb_width; | ||||
} | |||||
efifb.fb_stride = gfx_state.tg_fb.fb_stride; | efifb.fb_stride = gfx_state.tg_fb.fb_stride; | ||||
efifb.fb_mask_red = gfx_state.tg_fb.fb_mask_red; | efifb.fb_mask_red = gfx_state.tg_fb.fb_mask_red; | ||||
efifb.fb_mask_green = gfx_state.tg_fb.fb_mask_green; | efifb.fb_mask_green = gfx_state.tg_fb.fb_mask_green; | ||||
efifb.fb_mask_blue = gfx_state.tg_fb.fb_mask_blue; | efifb.fb_mask_blue = gfx_state.tg_fb.fb_mask_blue; | ||||
efifb.fb_mask_reserved = gfx_state.tg_fb.fb_mask_reserved; | efifb.fb_mask_reserved = gfx_state.tg_fb.fb_mask_reserved; | ||||
printf("EFI framebuffer information:\n"); | printf("EFI framebuffer information:\n"); | ||||
printf("addr, size 0x%jx, 0x%jx\n", efifb.fb_addr, efifb.fb_size); | printf("addr, size 0x%jx, 0x%jx\n", efifb.fb_addr, efifb.fb_size); | ||||
▲ Show 20 Lines • Show All 252 Lines • Show Last 20 Lines |