Home | History | Annotate | Download | only in x86
History log of /src/sys/arch/xen/x86/consinit.c
RevisionDateAuthorComments
 1.18  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.17  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.16  13-Oct-2012  jdc branches: 1.16.68;
Adapt to the changed signature of pckbc_cnattach().
 1.15  01-Jul-2011  dyoung branches: 1.15.2; 1.15.12;
#include <sys/bus.h> instead of <machine/bus.h>.
 1.14  28-Apr-2010  dyoung On x86, change the bus_space_tag_t to a pointer to a struct
bus_space_tag. For now, bus_space_tag's only member is
bst_type, the type of space, which is either X86_BUS_SPACE_IO
or X86_BUS_SPACE_MEM. In the future, new bus_space_tag members
will refer to override-functions installed by a new function,
bus_space_tag_create(9).

Add pointers to constant struct bus_space_tag, x86_bus_space_io and
x86_bus_space_mem. Use them to replace most uses of X86_BUS_SPACE_IO
and X86_BUS_SPACE_MEM.

Add an x86-specific bus_space_is_equal(9) implementation that compares
the two tags' bst_type.
 1.13  18-Mar-2009  cegger branches: 1.13.2; 1.13.4;
Ansify function definitions w/o arguments. Generated with sed.
 1.12  16-Mar-2009  cegger ansify function definitions
 1.11  21-Oct-2008  cegger branches: 1.11.2; 1.11.8;
introduce two macros: xendomain_is_dom0() and xendomain_is_privileged(). Use them.
 1.10  22-Nov-2007  bouyer branches: 1.10.14; 1.10.18; 1.10.24;
Pull up the bouyer-xenamd64 branch to HEAD. This brings in amd64 support
to NetBSD/Xen, both Dom0 and DomU.
 1.9  14-Nov-2007  ad Remove pccons.
 1.8  29-Jan-2007  hubertf branches: 1.8.6; 1.8.22; 1.8.24; 1.8.28; 1.8.30;
Remove more duplicate headers.
Patch by Slava Semushin <slava.semushin@gmail.com>

Again, this was tested by comparing obj files from a pristine and a patched
source tree against an i386/ALL kernel, and also for src/sbin/fsck_ffs,
src/sbin/fsdb and src/usr.sbin/makefs. Only changes in assert() line numbers
were detected in 'objdump -d' output.
 1.7  09-Dec-2006  bouyer Remove extra ) causing compile failure when CONS_OVERRIDE is defined.
From Hideo Masuda in PR port-xen/35217.
 1.6  11-Dec-2005  christos branches: 1.6.20; 1.6.22; 1.6.24;
merge ktrace-lwp.
 1.5  16-Jun-2005  bouyer branches: 1.5.2;
Allow compiling a domain0 kernel with vga but without pckbc, and add
console support for USB keyboard. Problem pointed out by Karl Janmar on
port-xen.
 1.4  09-Mar-2005  bouyer branches: 1.4.2;
Merge the bouyer-xen2 branch. This add supports for the Xen 2.0 virtual
machine kernel (both privileged and non-privileged domains), and remove support
for the old xen 1.2.
 1.3  24-Apr-2004  cl branches: 1.3.2; 1.3.6; 1.3.8; 1.3.10;
Enable keyboard and vga display as console when running as domain-0.
 1.2  24-Apr-2004  cl Consistently use xencons for eveything reffering to Xen's virtual console.

rename arch/xen/xen/console.c -> arch/xen/xen/xencons.c
 1.1  11-Mar-2004  cl branches: 1.1.2;
Add port to the Xen virtual machine monitor.
(see http://www.cl.cam.ac.uk/Research/SRG/netos/xen/)
 1.1.2.1  22-May-2004  he Pull up revisions 1.2-1.3 (requested by cl in ticket #337):
Upgrade xen support:
- add block device driver
- network device driver bug fixes
- support for vga/keyboard/mouse
- support for domain0 operations
- fix /dev/mem and i386_iopl, reboot, event dispatch
- fix clock support, cpu speed report, lazy fpu switching
- add xen12load loader
- sys/arch/xen parts of build.sh release support
[cl, ticket #337]
 1.3.10.1  19-Mar-2005  yamt sync with head. xen and whitespace. xen part is not finished.
 1.3.8.1  29-Apr-2005  kent sync with -current
 1.3.6.1  08-Mar-2005  bouyer Add support for ISA bus.
Clean up console attachement, and add support for VGA/pckbc console.
Add support for USB devices, including USB audio (which means others audio
devices should work too)
Add some more generic options to XEN0.
 1.3.2.6  10-Nov-2005  skrll Sync with HEAD. Here we go again...
 1.3.2.5  01-Apr-2005  skrll Sync with HEAD.
 1.3.2.4  21-Sep-2004  skrll Fix the sync with head I botched.
 1.3.2.3  18-Sep-2004  skrll Sync with HEAD.
 1.3.2.2  03-Aug-2004  skrll Sync with HEAD
 1.3.2.1  24-Apr-2004  skrll file consinit.c was added on branch ktrace-lwp on 2004-08-03 10:43:19 +0000
 1.4.2.2  11-Dec-2006  tron Pull up following revision(s) (requested by bouyer in ticket #1600):
sys/arch/xen/x86/consinit.c: revision 1.7
Remove extra ) causing compile failure when CONS_OVERRIDE is defined.
From Hideo Masuda in PR port-xen/35217.
 1.4.2.1  28-Jun-2005  tron branches: 1.4.2.1.2; 1.4.2.1.4;
Pull up revision 1.5 (requested by bouyer in ticket #482):
Allow compiling a domain0 kernel with vga but without pckbc, and add
console support for USB keyboard. Problem pointed out by Karl Janmar on
port-xen.
 1.4.2.1.4.1  11-Dec-2006  tron Pull up following revision(s) (requested by bouyer in ticket #1600):
sys/arch/xen/x86/consinit.c: revision 1.7
Remove extra ) causing compile failure when CONS_OVERRIDE is defined.
From Hideo Masuda in PR port-xen/35217.
 1.4.2.1.2.1  11-Dec-2006  tron Pull up following revision(s) (requested by bouyer in ticket #1600):
sys/arch/xen/x86/consinit.c: revision 1.7
Remove extra ) causing compile failure when CONS_OVERRIDE is defined.
From Hideo Masuda in PR port-xen/35217.
 1.5.2.4  07-Dec-2007  yamt sync with head
 1.5.2.3  15-Nov-2007  yamt sync with head.
 1.5.2.2  26-Feb-2007  yamt sync with head.
 1.5.2.1  30-Dec-2006  yamt sync with head.
 1.6.24.1  09-Dec-2006  riz Pull up following revision(s) (requested by bouyer in ticket #266):
sys/arch/xen/x86/consinit.c: revision 1.7
Remove extra ) causing compile failure when CONS_OVERRIDE is defined.
From Hideo Masuda in PR port-xen/35217.
 1.6.22.1  10-Dec-2006  yamt sync with head.
 1.6.20.2  01-Feb-2007  ad Sync with head.
 1.6.20.1  12-Jan-2007  ad Sync with head.
 1.8.30.2  08-Dec-2007  mjf Sync with HEAD.
 1.8.30.1  19-Nov-2007  mjf Sync with HEAD.
 1.8.28.2  18-Nov-2007  bouyer Sync with HEAD
 1.8.28.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.8.24.1  09-Jan-2008  matt sync with HEAD
 1.8.22.2  27-Nov-2007  joerg Sync with HEAD. amd64 Xen support needs testing.
 1.8.22.1  21-Nov-2007  joerg Sync with HEAD.
 1.8.6.1  03-Dec-2007  ad Sync with HEAD.
 1.10.24.1  13-Dec-2008  haad Update haad-dm branch to haad-dm-base2.
 1.10.18.2  11-Aug-2010  yamt sync with head.
 1.10.18.1  04-May-2009  yamt sync with head.
 1.10.14.1  17-Jan-2009  mjf Sync with HEAD.
 1.11.8.4  27-Aug-2011  jym Sync with HEAD. Most notably: uvm/pmap work done by rmind@, and MP Xen
work of cherry@.

No regression observed on suspend/restore.
 1.11.8.3  24-Oct-2010  jym Sync with HEAD
 1.11.8.2  01-Nov-2009  jym Sync with HEAD.
 1.11.8.1  13-May-2009  jym Sync with HEAD.

Commit is split, to avoid a "too many arguments" protocol error.
 1.11.2.1  28-Apr-2009  skrll Sync with HEAD.
 1.13.4.1  30-May-2010  rmind sync with head
 1.13.2.1  30-Apr-2010  uebayasi Sync with HEAD.
 1.15.12.1  20-Nov-2012  tls Resync to 2012-11-19 00:00:00 UTC
 1.15.2.1  30-Oct-2012  yamt sync with head
 1.16.68.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).

RSS XML Feed