#
399386f1 |
| 22-Jan-2024 |
Roger Pau Monné <royger@FreeBSD.org> |
x86/xen: introduce non-hypercall based emergency print
The current xc_printf() function uses an hypercall in order to send character buffers to the hypervisor for it to print on the hypervisor conso
x86/xen: introduce non-hypercall based emergency print
The current xc_printf() function uses an hypercall in order to send character buffers to the hypervisor for it to print on the hypervisor console (if the hypervisor is configured to print such messages).
This requires the hypercall page to be initialized, which is extra work and can go wrong.
On x86 instead of using the console IO hypercall use the debug console IO port, also called "port E9 hack". This allows sending characters to Xen using an outb instruction, without any initialization required.
Keep the previous hypervisor based implementation by using the weak attribute, which allows each architecture to provide an alternate (arch-specific) implementation.
Sponsored by: Cloud Software Group Reviewed by: markj Differential revision: https://reviews.freebsd.org/D43929
show more ...
|
#
fdafd315 |
| 24-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remov
sys: Automated cleanup of cdefs and other formatting
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row.
Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/
Sponsored by: Netflix
show more ...
|
Revision tags: release/14.0.0 |
|
#
685dc743 |
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
sys: Remove $FreeBSD$: one-line .c pattern
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
|
Revision tags: release/13.2.0, release/12.4.0, release/13.1.0 |
|
#
f929eb1e |
| 07-May-2022 |
John Baldwin <jhb@FreeBSD.org> |
xen: Remove unused devclass arguments to DRIVER_MODULE.
|
Revision tags: release/12.3.0 |
|
#
ad7dd514 |
| 13-Oct-2021 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen: switch to use headers in contrib
These headers originate with the Xen project and shouldn't be mixed with the main portion of the FreeBSD kernel. Notably they shouldn't be the target of clean-u
xen: switch to use headers in contrib
These headers originate with the Xen project and shouldn't be mixed with the main portion of the FreeBSD kernel. Notably they shouldn't be the target of clean-up commits.
Switch to use the headers in sys/contrib/xen.
Reviewed by: royger
show more ...
|
#
e7236a7d |
| 15-Dec-2021 |
Mateusz Guzik <mjg@FreeBSD.org> |
xen: plug some of set-but-not-used vars
Sponsored by: Rubicon Communications, LLC ("Netgate")
|
Revision tags: release/13.0.0 |
|
#
b6ff9345 |
| 06-Apr-2021 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen: create VM_MEMATTR_XEN for Xen memory mappings
The requirements for pages shared with Xen/other VMs may vary from architecture to architecture. As such create a macro which various architecture
xen: create VM_MEMATTR_XEN for Xen memory mappings
The requirements for pages shared with Xen/other VMs may vary from architecture to architecture. As such create a macro which various architectures can use.
Remove a use of PAT_WRITE_BACK in xenstore.c. This is a x86-ism which shouldn't have been present in a common area.
Original idea: Julien Grall <julien@xen.org>, 2014-01-14 06:44:08 Approach suggested by: royger Reviewed by: royger, mhorne Differential Revision: https://reviews.freebsd.org/D29351
show more ...
|
#
a2c0e94c |
| 01-Mar-2021 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen: remove x86-ism from Xen common code
PAT_WRITE_BACK is x86-only, whereas sys/dev/xen could be shared between multiple architectures.
Reviewed by: royger Differential Revision: https://reviews.f
xen: remove x86-ism from Xen common code
PAT_WRITE_BACK is x86-only, whereas sys/dev/xen could be shared between multiple architectures.
Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D28831
show more ...
|
Revision tags: release/12.2.0, release/11.4.0 |
|
#
23d53268 |
| 17-Apr-2020 |
Kyle Evans <kevans@FreeBSD.org> |
tty: convert tty_lock_assert to tty_assert_locked to hide lock type
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
tty: convert tty_lock_assert to tty_assert_locked to hide lock type
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.
Suggested by: markj
show more ...
|
#
bc02c18c |
| 07-Feb-2020 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r357408 through r357661.
|
#
d16bd541 |
| 06-Feb-2020 |
Roger Pau Monné <royger@FreeBSD.org> |
xen/console: fix priority of Xen console
Currently the Xen console is always attached with priority CN_REMOTE (highest), which means that when booting with a single console the Xen console will take
xen/console: fix priority of Xen console
Currently the Xen console is always attached with priority CN_REMOTE (highest), which means that when booting with a single console the Xen console will take preference over the VGA for example, and that's not intended unless the user has also selected to use a serial console.
Fix this by lowering the priority of the Xen console to NORMAL unless the user has selected to use a serial console. This keeps the usual FreeBSD behavior of outputting to the internal consoles (ie: VGA) when booted as a Xen dom0.
MFC after: 3 days Sponsored by: Citrix Systems R&D
show more ...
|
#
879e0604 |
| 12-Jan-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
Add KERNEL_PANICKED macro for use in place of direct panicstr tests
|
Revision tags: release/12.1.0, release/11.3.0 |
|
#
0269ae4c |
| 06-Jun-2019 |
Alan Somers <asomers@FreeBSD.org> |
MFHead @348740
Sponsored by: The FreeBSD Foundation
|
#
e2e050c8 |
| 20-May-2019 |
Conrad Meyer <cem@FreeBSD.org> |
Extract eventfilter declarations to sys/_eventfilter.h
This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces hea
Extract eventfilter declarations to sys/_eventfilter.h
This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces header pollution substantially.
EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .c files into appropriate headers (e.g., sys/proc.h, powernv/opal.h).
As a side effect of reduced header pollution, many .c files and headers no longer contain needed definitions. The remainder of the patch addresses adding appropriate includes to fix those files.
LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required by sys/mutex.h since r326106 (but silently protected by header pollution prior to this change).
No functional change (intended). Of course, any out of tree modules that relied on header pollution for sys/eventhandler.h, sys/lock.h, or sys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped.
show more ...
|
Revision tags: release/12.0.0 |
|
#
fa609042 |
| 19-Jul-2018 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: do not limit PV console usage to PV guests
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&D
|
#
cfa0b7b8 |
| 19-Jul-2018 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: remove direct usage of HYPERVISOR_start_info
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 hype
xen: remove direct usage of HYPERVISOR_start_info
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&D
show more ...
|
Revision tags: release/11.2.0, release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0, release/10.3.0 |
|
#
11d38a57 |
| 28-Oct-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from head
Sponsored by: Gandi.net
|
#
becbad1f |
| 13-Oct-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from head
|
#
a997b777 |
| 13-Oct-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Sync up with head up to r289211.
|
#
9be27fdc |
| 10-Oct-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from head
|
#
a231723c |
| 08-Oct-2015 |
Roger Pau Monné <royger@FreeBSD.org> |
xen/console: Introduce a new console driver for Xen guest
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
xen/console: Introduce a new console driver for Xen guest
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 <julien.grall@citrix.com> Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D3698 Sponsored by: Citrix Systems R&D
show more ...
|