<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/dev/xen/console, branch releng/12.2</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.2</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F12.2'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2020-06-18T15:15:04Z</updated>
<entry>
<title>MFC r352925: xen/ctrl: acknowledge all control requests</title>
<updated>2020-06-18T15:15:04Z</updated>
<author>
<name>Roger Pau Monné</name>
<email>royger@FreeBSD.org</email>
</author>
<published>2020-06-18T15:15:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=f82d96fe8037ab66f7841de5fd0b52da7caf463d'/>
<id>urn:sha1:f82d96fe8037ab66f7841de5fd0b52da7caf463d</id>
<content type='text'>
MFC r357616: xen/console: fix priority of Xen console
MFC r361274: dev/xenstore: fix return with locks held
Note this should be dev/evtchn not dev/xenstore.
MFC r361578: xenpv: do not use low 1MB for Xen mappings on i386
MFC r361580: xen/control: short circuit xctrl_on_watch_event on spurious event

Those are all Xen related fixes or minor improvements that have been sitting on
current for a reasonable time without complaints.

Sponsored by: Citrix Systems R&amp;D
</content>
</entry>
<entry>
<title>MFC r360051: tty: convert tty_lock_assert to tty_assert_locked</title>
<updated>2020-04-24T13:31:22Z</updated>
<author>
<name>Kyle Evans</name>
<email>kevans@FreeBSD.org</email>
</author>
<published>2020-04-24T13:31:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=74727284b626971c5209f162f593ec65d4606b64'/>
<id>urn:sha1:74727284b626971c5209f162f593ec65d4606b64</id>
<content type='text'>
A later change, currently being iterated on in D24459, will in-fact change
the lock type to an sx so that TTY drivers can sleep on it if they need to.
Committing this ahead of time to make the review in question a little more
palatable.

tty_lock_assert() is unfortunately still needed for now in two places to
make sure that the tty lock has not been recursed upon, for those scenarios
where it's supplied by the TTY driver and possibly a mutex that is allowed
to recurse.
</content>
</entry>
<entry>
<title>xen: do not limit PV console usage to PV guests</title>
<updated>2018-07-19T07:58:24Z</updated>
<author>
<name>Roger Pau Monné</name>
<email>royger@FreeBSD.org</email>
</author>
<published>2018-07-19T07:58:24Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fa6090423244d1ebcf72e8db2d32a83582343422'/>
<id>urn:sha1:fa6090423244d1ebcf72e8db2d32a83582343422</id>
<content type='text'>
The Xen PV console is also available to HVM and PVHv2 guests, so don't
limit the console usage to PV guests only.

Sponsored by: Citrix Systems R&amp;D
</content>
</entry>
<entry>
<title>xen: remove direct usage of HYPERVISOR_start_info</title>
<updated>2018-07-19T07:54:45Z</updated>
<author>
<name>Roger Pau Monné</name>
<email>royger@FreeBSD.org</email>
</author>
<published>2018-07-19T07:54:45Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=cfa0b7b82fbdda56d7160569def5c6133eb045aa'/>
<id>urn:sha1:cfa0b7b82fbdda56d7160569def5c6133eb045aa</id>
<content type='text'>
HYPERVISOR_start_info is only available to PV and PVHv1 guests, HVM
and PVHv2 guests get this data from HVM parameters that are fetched
using a hypercall.

Instead provide a set of helper functions that should be used to fetch
this data. The helper functions have different implementations
depending on whether FreeBSD is running as PVHv1 or HVM/PVHv2 guest
type.

This helps to cleanup generic Xen code by removing quite a lot of
xen_pv_domain and xen_hvm_domain macro usages.

Sponsored by:	Citrix Systems R&amp;D
</content>
</entry>
<entry>
<title>xen/console: Introduce a new console driver for Xen guest</title>
<updated>2015-10-08T16:39:43Z</updated>
<author>
<name>Roger Pau Monné</name>
<email>royger@FreeBSD.org</email>
</author>
<published>2015-10-08T16:39:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a231723cc0b0655bf6cbe77e3b2fc34d05525fda'/>
<id>urn:sha1:a231723cc0b0655bf6cbe77e3b2fc34d05525fda</id>
<content type='text'>
The current Xen console driver is crashing very quickly when using it on
an ARM guest. This is because the console lock is recursive and it may
lead to recursion on the tty lock and/or corrupt the ring pointer.

Furthermore, the console lock is not always taken where it should be and has
to be released too early because of the way the console has been designed.

Over the years, code has been modified to support various new features but
the driver has not been reworked.

This new driver has been rewritten with the idea of only having a small set
of specific function to write either via the shared ring or the hypercall
interface.

Note that HVM support has been left aside for now because it requires
additional features which are not yet supported. A follow-up patch will be
sent with HVM guest support.

List of items that may be good to have but not mandatory:
 - Avoid to flush for each character written when using the tty
 - Support multiple consoles

Submitted by:		Julien Grall &lt;julien.grall@citrix.com&gt;
Reviewed by:		royger
Differential Revision:	https://reviews.freebsd.org/D3698
Sponsored by:		Citrix Systems R&amp;D
</content>
</entry>
<entry>
<title>xen: Dom0 console fixes</title>
<updated>2014-08-04T09:02:49Z</updated>
<author>
<name>Roger Pau Monné</name>
<email>royger@FreeBSD.org</email>
</author>
<published>2014-08-04T09:02:49Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=2382778f4060cb2b8cfc5340e6c4bd38e0c963a8'/>
<id>urn:sha1:2382778f4060cb2b8cfc5340e6c4bd38e0c963a8</id>
<content type='text'>
Minor fixes to make the Xen Dom0 console work. This includes always
returning there's pending input in xencons_has_input, because on Dom0
there's no shared ring and we cannot test the indexes. The second
fix is to use the CONSOLEIO_read hypercall in order to read input
data from the Xen console.

Sponsored by: Citrix Systems R&amp;D

dev/xen/console/xencons_ring.c:
 - Always return true in xencons_has_input for Dom0.
 - Implement Dom0 console support for xencons_handle_input.
</content>
</entry>
<entry>
<title>xen: introduce xenpv bus</title>
<updated>2014-06-16T08:44:33Z</updated>
<author>
<name>Roger Pau Monné</name>
<email>royger@FreeBSD.org</email>
</author>
<published>2014-06-16T08:44:33Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=aa64d12bcd48a0bb8e7a88bae0fad6d27ba34724'/>
<id>urn:sha1:aa64d12bcd48a0bb8e7a88bae0fad6d27ba34724</id>
<content type='text'>
Create a dummy bus so top level Xen devices can attach to it (instead
of attaching directly to the nexus). This allows to have all the Xen
related devices grouped under a single bus.

Sponsored by: Citrix Systems R&amp;D
Approved by: gibbs

x86/xen/xenpv.c:
 - Attach the xenpv bus when running as a Xen guest.
 - Attach the ISA bus if needed, in order to attach syscons.

conf/files.amd6:
conf/files.i386:
 - Include the xenpv.c file in the build of i386/amd64 kernels using
   XENHVM.

dev/xen/console/console.c:
dev/xen/timer/timer.c:
xen/xenstore/xenstore.c:
 - Attach to the xenpv bus instead of the Nexus.

dev/xen/xenpci/xenpci.c:
 - Xen specific devices on PVHVM guests are no longer attached to the
   xenpci device, they are instead attached to the xenpv bus, remove
   the now unused methods.
</content>
</entry>
<entry>
<title>xen: fix usage of db_active in xen console</title>
<updated>2014-03-17T16:45:28Z</updated>
<author>
<name>Roger Pau Monné</name>
<email>royger@FreeBSD.org</email>
</author>
<published>2014-03-17T16:45:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=86af13e28bfb8f998c254f1ef88359ba81cf518d'/>
<id>urn:sha1:86af13e28bfb8f998c254f1ef88359ba81cf518d</id>
<content type='text'>
Replace usage of db_active in Xen console with kdb_active.

Reported by: Andrzej Tobola &lt;ato@iem.pw.edu.pl&gt;
Approved by: gibbs
Sponsored by: Citrix Systems R&amp;D
</content>
</entry>
<entry>
<title>xen: add and enable Xen console for PVH guests</title>
<updated>2014-03-11T10:09:23Z</updated>
<author>
<name>Roger Pau Monné</name>
<email>royger@FreeBSD.org</email>
</author>
<published>2014-03-11T10:09:23Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c203fa69407d940494a0d90988619f900e869989'/>
<id>urn:sha1:c203fa69407d940494a0d90988619f900e869989</id>
<content type='text'>
This adds and enables the PV console used on XEN kernels to
GENERIC/XENHVM kernels in order for it to be used on PVH.

Approved by: gibbs
Sponsored by: Citrix Systems R&amp;D

dev/xen/console/console.c:
 - Define console_page.
 - Move xc_printf debug function from i386 XEN code to generic console
   code.
 - Rework xc_printf.
 - Use xen_initial_domain instead of open-coded checks for Dom0.
 - Gate the attach of the PV console to PV(H) guests.

dev/xen/console/xencons_ring.c:
 - Allow the PV Xen console to output earlier by directly signaling
   the event channel in start_info if the event channel is not yet
   initialized.
 - Use HYPERVISOR_start_info instead of xen_start_info.

i386/include/xen/xen-os.h:
 - Remove prototype for xc_printf since it's now declared in global
   xen-os.h

i386/xen/xen_machdep.c:
 - Remove previous version of xc_printf.
 - Remove definition of console_page (now it's defined in the console
   itself).
 - Fix some printf formatting errors.

x86/xen/pv.c:
 - Add some early boot debug messages using xc_printf.
 - Set console_page based on the value passed in start_info.

xen/xen-os.h:
 - Declare console_page and add prototype for xc_printf.
</content>
</entry>
<entry>
<title>In sys/dev/xen/console/console.c, #if 0 an unused static function.</title>
<updated>2014-02-15T12:37:26Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2014-02-15T12:37:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=216b99138182537355805ee2287ad259eaf3f28e'/>
<id>urn:sha1:216b99138182537355805ee2287ad259eaf3f28e</id>
<content type='text'>
MFC after:	3 days
</content>
</entry>
</feed>
