History log of /src/sys/arch/xen/x86/autoconf.c |
Revision | | Date | Author | Comments |
1.26 |
| 17-Oct-2023 |
bouyer | 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.
|
1.25 |
| 02-May-2020 |
bouyer | branches: 1.25.20; 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.24 |
| 25-Apr-2020 |
bouyer | Merge the bouyer-xenpvh branch, bringing in Xen PV drivers support under HVM guests in GENERIC. Xen support can be disabled at runtime with boot -c disable hypervisor
|
1.23 |
| 24-May-2019 |
nonaka | branches: 1.23.8; Added drivers for Hyper-V Synthetic Keyboard and Video device.
|
1.22 |
| 28-Jan-2019 |
bad | Sprinkle DPRINTF #ifdef DEBUG_GEOM and set booted_method like arch/x86/x86/x86_autoconf.c
As discussed 1 week ago on port-xen.
|
1.21 |
| 22-Dec-2018 |
cherry | This change modifies the mainbus(4) entry point for all x86 sub-archs in the following way:
i) It provides a unified entry point in x86/x86/mainbus.c:mainbus_attach() ii) It carves out the preliminary bus attachment sequence that is common to all sub-archs into x86/x86/mainbus.c: x86_cpubus_attach() iii) It consolidates the remaining pathways as internal callee functions so that these may be called piecemeal if required. A special usecase of this is XEN PVHVM which may need to call the native configure path, the xen configure path, or both. iv) It moves the driver private data structures from i386/i386_mainbus.c to an x86/ level one. This allows for other sub-arch's to do similar, if needed. (They do not at the moment). v) For dom0 kernels, it enables 'acpi0 at mainbus?' and 'acpi0 at hypervisorbus'. This serves two purposes: a) To demonstrate the possibility of dynamic configuration tree traversal ordering changes. b) To allow for the common acpi_check(self, "acpibus") call in x86/mainbus.c to not barf when it is called from the dom0 attach path. We allow for the acpi0 device to be a child of mainbus with the changes to amd64/conf/XEN3_DOM0 and i386/conf/XEN3PAE_DOM0 without actually probing further in the code. This path will later be pursued in a PVHVM boot codepath.
There should be no operative changes with this change. If there are, please complain loudly.
|
1.20 |
| 07-Oct-2018 |
mlelstv | Support bootspec.
|
1.19 |
| 29-Jul-2017 |
maxv | branches: 1.19.2; 1.19.4; Remove the remaining parts of compat_oldboot.
|
1.18 |
| 23-May-2017 |
nonaka | branches: 1.18.2; x86: hypervisor detection from FreeBSD for x2APIC support.
|
1.17 |
| 03-Apr-2014 |
christos | branches: 1.17.6; Change findroot() to cpu_bootconf() since this is what it does. Remove bogus comment.
|
1.16 |
| 03-Oct-2012 |
dsl | branches: 1.16.2; Remove all references to KVM86. It was only ever used by APMBIOS - and then only if an option was selected. Probably didn't work well at all!
|
1.15 |
| 29-Jul-2012 |
mlelstv | branches: 1.15.2; Do not call setroot() from MD code and from MI code, which has unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732.
No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information as a side effect. Instead call MI rootconf() from MD code which makes rootconf() now a wrapper to setroot().
Adjust several MD routines to set the global booted_device,booted_partition variables instead of passing partial information to setroot().
Make cpu_rootconf(9) describe the calling order.
|
1.14 |
| 10-Jun-2012 |
mlelstv | Make detection of root on wedges (dk(4)) machine independent. Remove MD code for x86, xen, sparc64.
|
1.13 |
| 27-Nov-2009 |
rmind | branches: 1.13.12; 1.13.18; - Use uvm_lwp_setuarea() instead of directly setting address to lwp_t::l_addr. - Replace most remaining uses of l_addr with uvm_lwp_getuarea() or lwp_getpcb(). - Amend assembly in ports where it accesses PCB via struct user. - Rename L_ADDR to L_PCB in few places. Reduce sys/user.h inclusions.
|
1.12 |
| 21-Nov-2009 |
rmind | Catch-up Xen and usermode with lwp_getpcb() and unbreak Xen build.
|
1.11 |
| 06-Nov-2009 |
dyoung | Use deviter(9) instead of accessing alldevs directly.
|
1.10 |
| 29-Jul-2009 |
cegger | remove Xen2 support. ok bouyer@
|
1.9 |
| 12-Feb-2009 |
cegger | Make Dom0/DomU boot with root-on-nfs when 'bootdev' parameter is missing or wrong. In this case, we get prompted for the root device. Make sure that nfs_bootstatic_callback is initialized or we will miss the nfsroot bootparameter, causing a boot failure even when root device is correct.
|
1.8 |
| 18-Dec-2008 |
cegger | branches: 1.8.2; remove unused malloc.h
|
1.7 |
| 27-Oct-2008 |
cegger | branches: 1.7.2; change nfs boot behaviour to automatically try next boot method if boot information are incomplete to succeed. That way, it is possible combine static and dhcp boot: For example, to boot diskless you can specify the nfs-server and the rootpath statically. All other information will be taken via dhcp.
Patch has been presented on port-xen, tech-kern and tech-net: http://mail-index.netbsd.org/port-xen/2008/10/24/msg004488.html http://mail-index.netbsd.org/tech-kern/2008/10/24/msg003255.html http://mail-index.netbsd.org/tech-net/2008/10/24/msg000864.html
No comments, no objections.
|
1.6 |
| 24-Oct-2008 |
cegger | branches: 1.6.2; findroot(): set booted_device also when specifying a network device to bootdev. Useful for booting with root on nfs.
|
1.5 |
| 24-Oct-2008 |
cegger | struct device * -> device_t
|
1.4 |
| 21-Oct-2008 |
cegger | introduce two macros: xendomain_is_dom0() and xendomain_is_privileged(). Use them.
|
1.3 |
| 06-Apr-2008 |
cegger | branches: 1.3.4; 1.3.10; use aprint_*_dev and device_xname
|
1.2 |
| 22-Nov-2007 |
bouyer | branches: 1.2.2; 1.2.4; 1.2.8; 1.2.16; 1.2.22; Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support to NetBSD/Xen, both Dom0 and DomU.
|
1.1 |
| 17-Oct-2007 |
bouyer | branches: 1.1.2; 1.1.4; file autoconf.c was initially added on branch bouyer-xenamd64.
|
1.1.4.1 |
| 08-Dec-2007 |
mjf | Sync with HEAD.
|
1.1.2.1 |
| 17-Oct-2007 |
bouyer | Prepare for xenamd64: - kill xen/i386/identcpu.c, use i386/i386/identcpu.c instead (with a few #ifndef XEN) - move some files that can be shared between i386 and amd64 from xen/i386 to xen/x86 (or to xen/xen for non-cpu-specific code) - split assembly out of xen/include/hypervisor.h to xen/include/hypercalls.h - use <xen/...> instead of <machine/...> for cpu-independant include files.
more work needed here, i386-specific files should got out of arch/xen to arch/xeni386, and more code shared with arch/i386.
|
1.2.22.2 |
| 17-Jan-2009 |
mjf | Sync with HEAD.
|
1.2.22.1 |
| 02-Jun-2008 |
mjf | Sync with HEAD.
|
1.2.16.2 |
| 09-Jan-2008 |
matt | sync with HEAD
|
1.2.16.1 |
| 22-Nov-2007 |
matt | file autoconf.c was added on branch matt-armv6 on 2008-01-09 01:50:13 +0000
|
1.2.8.2 |
| 07-Dec-2007 |
yamt | sync with head
|
1.2.8.1 |
| 22-Nov-2007 |
yamt | file autoconf.c was added on branch yamt-lazymbuf on 2007-12-07 17:27:15 +0000
|
1.2.4.2 |
| 03-Dec-2007 |
ad | Sync with HEAD.
|
1.2.4.1 |
| 22-Nov-2007 |
ad | file autoconf.c was added on branch vmlocking on 2007-12-03 19:04:37 +0000
|
1.2.2.2 |
| 27-Nov-2007 |
joerg | Sync with HEAD. amd64 Xen support needs testing.
|
1.2.2.1 |
| 22-Nov-2007 |
joerg | file autoconf.c was added on branch jmcneill-pm on 2007-11-27 19:36:17 +0000
|
1.3.10.1 |
| 13-Dec-2008 |
haad | Update haad-dm branch to haad-dm-base2.
|
1.3.4.3 |
| 11-Mar-2010 |
yamt | sync with head
|
1.3.4.2 |
| 19-Aug-2009 |
yamt | sync with head.
|
1.3.4.1 |
| 04-May-2009 |
yamt | sync with head.
|
1.6.2.2 |
| 03-Mar-2009 |
skrll | Sync with HEAD.
|
1.6.2.1 |
| 19-Jan-2009 |
skrll | Sync with HEAD.
|
1.7.2.1 |
| 23-Feb-2009 |
snj | Pull up following revision(s) (requested by cegger in ticket #460): sys/arch/xen/x86/autoconf.c: revision 1.9 Make Dom0/DomU boot with root-on-nfs when 'bootdev' parameter is missing or wrong. In this case, we get prompted for the root device. Make sure that nfs_bootstatic_callback is initialized or we will miss the nfsroot bootparameter, causing a boot failure even when root device is correct.
|
1.8.2.3 |
| 24-Oct-2010 |
jym | Sync with HEAD
|
1.8.2.2 |
| 01-Nov-2009 |
jym | Sync with HEAD.
|
1.8.2.1 |
| 13-May-2009 |
jym | Sync with HEAD.
Commit is split, to avoid a "too many arguments" protocol error.
|
1.13.18.2 |
| 08-Aug-2012 |
martin | Pull up following revision(s) (requested by mlelstv in ticket #466): sys/arch/amiga/amiga/autoconf.c: revision 1.113 sys/arch/rs6000/rs6000/autoconf.c: revision 1.4 sys/arch/emips/emips/autoconf.c: revision 1.6 sys/arch/sandpoint/sandpoint/autoconf.c: revision 1.27 sys/arch/evbmips/alchemy/autoconf.c: revision 1.18 sys/arch/sgimips/sgimips/autoconf.c: revision 1.43 sys/arch/atari/atari/autoconf.c: revision 1.63 sys/arch/powerpc/oea/ofw_autoconf.c: revision 1.17 sys/arch/mmeye/mmeye/autoconf.c: revision 1.9 distrib/sets/lists/comp/mi: revision 1.1771 sys/arch/mipsco/mipsco/autoconf.c: revision 1.25 sys/arch/iyonix/iyonix/autoconf.c: revision 1.14 sys/arch/hp300/hp300/autoconf.c: revision 1.100 sys/kern/init_main.c: revision 1.445 sys/arch/pmax/pmax/autoconf.c: revision 1.79 sys/arch/netwinder/netwinder/autoconf.c: revision 1.11 sys/arch/dreamcast/dreamcast/autoconf.c: revision 1.10 sys/arch/ibmnws/ibmnws/autoconf.c: revision 1.12 sys/arch/evbppc/ev64260/autoconf.c: revision 1.17 sys/arch/evbmips/gdium/autoconf.c: revision 1.5 sys/arch/algor/algor/autoconf.c: revision 1.21 share/man/man9/Makefile: revision 1.367 sys/arch/ews4800mips/ews4800mips/autoconf.c: revision 1.9 sys/arch/amigappc/amigappc/autoconf.c: revision 1.5 sys/arch/x86/x86/x86_autoconf.c: revision 1.65 sys/arch/acorn26/acorn26/autoconf.c: revision 1.9 sys/arch/mvmeppc/mvmeppc/autoconf.c: revision 1.13 sys/arch/vax/vax/autoconf.c: revision 1.94 sys/arch/usermode/dev/cpu.c: revision 1.72 sys/arch/evbppc/virtex/autoconf.c: revision 1.5 sys/arch/next68k/next68k/autoconf.c: revision 1.26 sys/arch/mac68k/mac68k/autoconf.c: revision 1.73 sys/arch/ia64/ia64/autoconf.c: revision 1.6 sys/arch/evbppc/obs405/obs405_autoconf.c: revision 1.6 share/man/man9/cpu_rootconf.9: revision 1.7 sys/arch/landisk/landisk/autoconf.c: revision 1.6 sys/arch/evbmips/malta/autoconf.c: revision 1.16 sys/arch/sun3/sun3/autoconf.c: revision 1.76 sys/arch/evbppc/explora/autoconf.c: revision 1.13 sys/arch/sun3/sun3/autoconf.c: revision 1.77 sys/arch/evbmips/loongson/autoconf.c: revision 1.3 sys/arch/evbmips/atheros/autoconf.c: revision 1.11 sys/arch/sparc64/sparc64/autoconf.c: revision 1.188 sys/arch/acorn32/acorn32/autoconf.c: revision 1.18 sys/arch/evbarm/evbarm/autoconf.c: revision 1.13 sys/arch/cobalt/cobalt/autoconf.c: revision 1.30 sys/arch/mvme68k/mvme68k/autoconf.c: revision 1.46 sys/arch/hp700/hp700/autoconf.c: revision 1.48 sys/arch/evbmips/adm5120/autoconf.c: revision 1.5 sys/arch/hpcmips/hpcmips/autoconf.c: revision 1.25 sys/arch/alpha/alpha/autoconf.c: revision 1.52 sys/arch/sparc/sparc/autoconf.c: revision 1.244 sys/arch/evbppc/pmppc/autoconf.c: revision 1.7 sys/arch/bebox/bebox/autoconf.c: revision 1.25 sys/arch/luna68k/luna68k/autoconf.c: revision 1.13 sys/arch/hpcarm/hpcarm/autoconf.c: revision 1.20 sys/arch/evbppc/walnut/autoconf.c: revision 1.21 sys/arch/cesfic/cesfic/autoconf.c: revision 1.26 sys/arch/cats/cats/autoconf.c: revision 1.17 sys/arch/x68k/x68k/autoconf.c: revision 1.67 sys/arch/news68k/news68k/autoconf.c: revision 1.21 sys/arch/arc/arc/autoconf.c: revision 1.34 sys/arch/evbsh3/evbsh3/autoconf.c: revision 1.11 sys/sys/conf.h: revision 1.143 sys/arch/evbmips/rasoc/autoconf.c: revision 1.3 sys/arch/hpcsh/hpcsh/autoconf.c: revision 1.26 sys/arch/sun68k/sun68k/autoconf.c: revision 1.29 sys/arch/evbmips/rmixl/autoconf.c: revision 1.6 sys/arch/zaurus/zaurus/autoconf.c: revision 1.12 sys/arch/xen/x86/autoconf.c: revision 1.15 sys/arch/evbppc/mpc85xx/autoconf.c: revision 1.6 sys/arch/shark/shark/autoconf.c: revision 1.18 sys/arch/prep/prep/autoconf.c: revision 1.25 sys/arch/newsmips/newsmips/autoconf.c: revision 1.36 sys/arch/sbmips/sbmips/autoconf.c: revision 1.8 Do not call setroot() from MD code and from MI code, which has unwanted sideeffects in the RB_ASKNAME case. This fixes PR/46732. No longer wrap MD cpu_rootconf(), as hp300 port stores reboot information as a side effect. Instead call MI rootconf() from MD code which makes rootconf() now a wrapper to setroot(). Adjust several MD routines to set the global booted_device,booted_partition variables instead of passing partial information to setroot(). Make cpu_rootconf(9) describe the calling order. add rootconf(9) as a link to cpu_rootconf(9) make this compile again
|
1.13.18.1 |
| 05-Jul-2012 |
riz | Pull up following revision(s) (requested by mlelstv in ticket #402): sys/dev/vnd.c: revision 1.221 sys/kern/init_main.c: revision 1.443 sys/kern/init_main.c: revision 1.444 sys/dev/dkwedge/dk.c: revision 1.64 sys/arch/x86/x86/x86_autoconf.c: revision 1.63 sys/arch/sparc64/sparc64/autoconf.c: revision 1.187 sys/sys/device.h: revision 1.141 sys/dev/dkwedge/dkwedge_bsdlabel.c: revision 1.17 sys/kern/kern_subr.c: revision 1.213 sys/arch/zaurus/zaurus/autoconf.c: revision 1.11 sys/arch/xen/x86/autoconf.c: revision 1.14 sys/sys/disk.h: revision 1.57 Use the label's packname to create wedge names instead of the classic device names. Fall back to classic device names when the label has an empty name or the default name 'fictitious'. autodiscover wedges Make detection of root on wedges (dk(4)) machine independent. Remove MD code for x86, xen, sparc64. Make detection of root on wedges (dk(4)) machine independent. Remove MD code for zaurus. Do not try to find the wedge we booted from if opendisk(booted_device) failed.
|
1.13.12.2 |
| 22-May-2014 |
yamt | sync with head.
for a reference, the tree before this commit was tagged as yamt-pagecache-tag8.
this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments")
|
1.13.12.1 |
| 30-Oct-2012 |
yamt | sync with head
|
1.15.2.3 |
| 03-Dec-2017 |
jdolecek | update from HEAD
|
1.15.2.2 |
| 20-Aug-2014 |
tls | Rebase to HEAD as of a few days ago.
|
1.15.2.1 |
| 20-Nov-2012 |
tls | Resync to 2012-11-19 00:00:00 UTC
|
1.16.2.1 |
| 18-May-2014 |
rmind | sync with head
|
1.17.6.1 |
| 28-Aug-2017 |
skrll | Sync with HEAD
|
1.18.2.2 |
| 12-Jun-2019 |
martin | Pull up following revision(s) (requested by nonaka in ticket #1280):
sys/arch/x86/x86/consinit.c: revision 1.29 sys/dev/hyperv/vmbusvar.h: revision 1.2 sys/dev/hyperv/genfb_vmbusvar.h: revision 1.1 sys/arch/x86/x86/x86_autoconf.c: revision 1.78 sys/arch/x86/x86/identcpu.c: revision 1.91 sys/arch/x86/x86/hyperv.c: revision 1.2 sys/arch/x86/x86/hyperv.c: revision 1.3 sys/arch/x86/x86/hyperv.c: revision 1.4 sys/arch/i386/conf/GENERIC: revision 1.1207 sys/dev/wscons/wsconsio.h: revision 1.123 sys/arch/x86/x86/hypervvar.h: revision 1.1 sys/arch/amd64/conf/GENERIC: revision 1.528 sys/dev/hyperv/files.hyperv: revision 1.2 sys/arch/x86/include/autoconf.h: revision 1.6 sys/dev/hyperv/hyperv_common.c: revision 1.2 sys/arch/xen/x86/autoconf.c: revision 1.23 sys/arch/x86/pci/pci_machdep.c: revision 1.86 sys/dev/hyperv/hvkbd.c: revision 1.1 sys/dev/hyperv/hypervvar.h: revision 1.2 sys/dev/acpi/vmbus_acpi.c: revision 1.2 sys/dev/hyperv/vmbus.c: revision 1.3 sys/dev/hyperv/hvkbdvar.h: revision 1.1 sys/dev/hyperv/genfb_vmbus.c: revision 1.1
Added drivers for Hyper-V Synthetic Keyboard and Video device.
Avoid undefined reference to `hyperv_guid_video' without vmbus(4).
Avoid undefined reference to `hyperv_is_gen1' without hyperv(4).
Use efi_probe().
|
1.18.2.1 |
| 13-Oct-2018 |
martin | Pull up following revision(s) (requested by mlelstv in ticket #1057):
sys/arch/xen/x86/autoconf.c: revision 1.20 sys/arch/xen/include/xen.h: revision 1.40
Support bootspec.
|
1.19.4.1 |
| 10-Jun-2019 |
christos | Sync with HEAD
|
1.19.2.2 |
| 26-Dec-2018 |
pgoyette | Sync with HEAD, resolve a few conflicts
|
1.19.2.1 |
| 20-Oct-2018 |
pgoyette | Sync with head
|
1.23.8.2 |
| 12-Apr-2020 |
bouyer | remove stray 'else'
|
1.23.8.1 |
| 08-Apr-2020 |
bouyer | Remove VM_GUEST_XEN and define only Xen subtypes: VM_GUEST_XENPV VM_GUEST_XENPVH VM_GUEST_XENHVM VM_GUEST_XENPVHVM
Set vm_guest in the start routine, if it is hypervisor-specific (e.g Xen PV). If vm_guest was not set early and we detect Xen in identify_hypervisor(), assume it is VM_GUEST_XENHVM. Refine to VM_GUEST_PVXENHVM in hypervisor_match().
|
1.25.20.1 |
| 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).
|