History log of /src/sys/arch/xen/x86/pvh_consinit.c |
Revision | | Date | Author | Comments |
1.6 |
| 17-Oct-2023 |
bouyer | Make sure to always fall back to xen_early_console, even for dom0
|
1.5 |
| 16-Oct-2023 |
bouyer | Move the pvh_xencons so xen_machdep.c as early_xencons, so it can be used in the future as early ouput for plain PV guests too.
|
1.4 |
| 22-Jul-2023 |
mrg | xen: declare 'default_consinfo' as extern in a header
this makes pvh_consinit.c actually compile with CONS_OVERRIDE set. i didn't see any good header to add to (bootinfo.h and cpu.h both seem to be poor choices but were considered), hence the new one with just this definition.
|
1.3 |
| 24-Mar-2023 |
bouyer | Allow a PVH dom0 to use VGA as console: make xen_pvh_consinit() return 1 if it handles the console and 0 otherwise (especially when console=tty0 or console=pc is present on the command line). In consinit() fallback to native console selection if xen_pvh_consinit() returns 0.
|
1.2 |
| 03-May-2020 |
bouyer | branches: 1.2.20; Hanble dom0 console. This one doesn't need a ring to be mapped, and can be used earlier.
|
1.1 |
| 02-May-2020 |
bouyer | Introduce Xen PVH support in GENERIC. This is compiled in with options XENPVHVM x86 changes: - add Xen section and xen pvh entry points to locore.S. Set vm_guest to VM_GUEST_XENPVH in this entry point. Most of the boot procedure (especially page table setup and switch to paged mode) is shared with native. - change some x86_delay() to delay_func(), which points to x86_delay() for native/HVM, and xen_delay() for PVH
Xen changes: - remove Xen bits from init_x86_64_ksyms() and init386_ksyms() and move to xen_init_ksyms(), used for both PV and PVH - set ISA no-legacy-devices property for PVH - factor out code from Xen's cpu_bootconf() to xen_bootconf() in xen_machdep.c - set up a specific pvh_consinit() which starts with printk() (which uses a simple hypercall that is available early) and switch to xencons when we can use pmap_kenter_pa().
|
1.2.20.2 |
| 18-Oct-2023 |
martin | Pull up following revision(s) (requested by bouyer in ticket #428):
sys/arch/xen/xen/xen_machdep.c: revision 1.28 sys/arch/x86/pci/pci_machdep.c: revision 1.97 sys/arch/xen/xen/genfb_xen.c: revision 1.1 sys/arch/xen/xen/genfb_xen.c: revision 1.2 sys/arch/xen/include/hypervisor.h: revision 1.59 sys/arch/i386/conf/XEN3PAE_DOM0: revision 1.41 (patch) sys/arch/x86/x86/genfb_machdep.c: revision 1.22 sys/arch/xen/x86/consinit.c: revision 1.18 sys/arch/xen/x86/autoconf.c: revision 1.26 sys/external/mit/xen-include-public/dist/xen/include/public/platform.h: revision 1.2 sys/arch/xen/conf/files.xen: revision 1.188 sys/arch/x86/x86/consinit.c: revision 1.37 sys/arch/xen/conf/files.xen: revision 1.189 sys/arch/x86/x86/consinit.c: revision 1.38 sys/external/mit/xen-include-public/dist/xen/include/public/xen.h: revision 1.2 sys/arch/x86/include/genfb_machdep.h: revision 1.7 sys/arch/xen/x86/pvh_consinit.c: revision 1.5 sys/arch/xen/x86/pvh_consinit.c: revision 1.6 sys/arch/amd64/conf/XEN3_DOM0: revision 1.201
Move the pvh_xencons so xen_machdep.c as early_xencons, so it can be used in the future as early ouput for plain PV guests too.
Support non-VGA framebuffers for Xen dom0. This is mandatory for graphic console on EFI-only hardware.
Add a xen_genfb_getbtinfo() function which will return a btinfo_framebuffer structure, filled in with parameters provided by Xen
when runing as a Xen dom0, call xen_genfb_getbtinfo() instead of lookup_bootinfo(BTINFO_FRAMEBUFFER) when adding properties to the PCI graphic device (when genfb is attached) and in x86_genfb_init() when genfb is used as console.
x86/x86/consinit.c: If running as a Xen dom0, use xen_genfb_getbtinfo() to check if we have a genfb console
xen/x86/consinit.c: support genfb as possible console
xen/x86/consinit.c: use the hypervior IO as console until a better one is found. If the hypervisor is using a serial port for boot messages, we'll get NetBSD's boot message on the serial port too until the real console takes over.
xen/x86/autoconf.c: rework device_register() to be closer to the x86 version. Especially make sure that device_pci_register() is called.
Make sure to always fall back to xen_early_console, even for dom0
Enable genfb in DOM0 kernels
Add ext_lfb_base to dom0_vga_console_info, from recent Xen. We know if it's present or not by checking dom0.info_size
Add XENPF_get_dom0_console, which gets a dom0_vga_console_info stucture from the hypervisor. To be used by PVH dom0 kernels.
XENPVH option is not used. Fix consinit.c to use XENPVHVM as intended and XENPVH from defflag for a dom0 PVH, the dom0_vga_console_info structure has to be retrieved using a platform hypercall; do so in the XENPVHVM case.
Now genfb works in a PVH dom0 running on Xen 4.18 (Xen 4.15 doesn't support this platoform op, so no way to make it work here).
|
1.2.20.1 |
| 30-Mar-2023 |
martin | Pull up following revision(s) (requested by bouyer in ticket #131):
sys/arch/x86/x86/consinit.c: revision 1.36 sys/arch/xen/x86/pvh_consinit.c: revision 1.3 sys/arch/xen/include/xen.h: revision 1.48
Allow a PVH dom0 to use VGA as console: make xen_pvh_consinit() return 1 if it handles the console and 0 otherwise (especially when console=tty0 or console=pc is present on the command line).
In consinit() fallback to native console selection if xen_pvh_consinit() returns 0.
|