Lines Matching +full:console +full:- +full:size
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
55 #include <xen/xen-os.h>
63 #include <contrib/xen/arch-x86/cpuid.h>
67 /*--------------------------- Forward Declarations ---------------------------*/
70 /*-------------------------------- Global Data -------------------------------*/
81 * If non-zero, the hypervisor has been configured to use a direct
92 /*------------------------------- Per-CPU Data -------------------------------*/
95 /*------------------------------ Sysctl tunables -----------------------------*/
101 /*---------------------- XEN Hypervisor Probe and Setup ----------------------*/
103 void xen_emergency_print(const char *str, size_t size)
105 outsb(XEN_HVM_DEBUGCONS_IOPORT, str, size);
113 msix_disable_migration == -1) {
116 * handle updates to enabled MSI-X table entries,
117 * so disable MSI-X interrupt migration in that
122 "Disabling MSI-X interrupt migration due to Xen hypervisor bug.\n"
146 * created page-tables.
153 * Using a KASSERT won't print anything, as this is before console
161 return ((uintptr_t)addr - KERNBASE
163 + kernphys - KERNLOAD
173 * non-RAM) address. But finding one at this point in boot is
174 * complicated, hence re-use a RAM address for the time being. This
175 * sadly causes super-page shattering in the second stage translation
189 "invalid Xen shared_info struct size");
210 xenpf_dom0_console_t *console = &op.u.dom0_console;
215 int size;
217 size = HYPERVISOR_platform_op(&op);
218 if (size < 0) {
219 xc_printf("Failed to get video console info: %d\n", size);
223 switch (console->video_type) {
235 sizeof(fb->efi.fb_mask_reserved),
237 fb->vbe.fb_bpp = console->u.vesa_lfb.bits_per_pixel;
249 fb->efi.fb_addr = console->u.vesa_lfb.lfb_base;
250 if (size >
252 fb->efi.fb_addr |=
253 (uint64_t)console->u.vesa_lfb.ext_lfb_base << 32;
254 fb->efi.fb_size = console->u.vesa_lfb.lfb_size << 16;
255 fb->efi.fb_height = console->u.vesa_lfb.height;
256 fb->efi.fb_width = console->u.vesa_lfb.width;
257 fb->efi.fb_stride = (console->u.vesa_lfb.bytes_per_line << 3) /
258 console->u.vesa_lfb.bits_per_pixel;
260 ((~0u << console->u.vesa_lfb.c ## _pos) & \
261 (~0u >> (32 - console->u.vesa_lfb.c ## _pos - \
262 console->u.vesa_lfb.c ## _size)))
263 fb->efi.fb_mask_red = FBMASK(red);
264 fb->efi.fb_mask_green = FBMASK(green);
265 fb->efi.fb_mask_blue = FBMASK(blue);
266 fb->efi.fb_mask_reserved = FBMASK(rsvd);
271 xc_printf("Video console type unsupported\n");
307 /* Fixup video console information in case Xen changed the mode. */
375 pin = pci_get_intpin(dev) - 1;
497 * from a failed migration and our pre-suspend
517 * Setup the per-vpcu event channel upcall vector. This is only
572 end = MIN(trunc_page(smap[i].base + smap[i].length) - 1,