Revision tags: release/14.0.0 |
|
#
d48760ff |
| 27-Sep-2023 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen/dev: remove __unused from driver argument of identify functions
The driver argument is most certainly now used by these functions. When originally implemented it might have been unused, but not
xen/dev: remove __unused from driver argument of identify functions
The driver argument is most certainly now used by these functions. When originally implemented it might have been unused, but not now.
Reviewed by: royger
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 ...
|
#
1a12f0ae |
| 02-Nov-2023 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: fix initialization of grant table frame array
The current sizing of the array used to store grant table frames is broken, as the calculation:
max_nr_glist_frames = (boot_max_nr_grant_fr
xen: fix initialization of grant table frame array
The current sizing of the array used to store grant table frames is broken, as the calculation:
max_nr_glist_frames = (boot_max_nr_grant_frames * GREFS_PER_GRANT_FRAME / (PAGE_SIZE / sizeof(grant_ref_t)));
Is plain bogus, for once grant_ref_t is the type of the grant reference, but not the entry used to store such references in the grant frames. But even if the above calculation is switched to use grant_entry_v1_t, it would end up as:
max_nr_glist_frames = (boot_max_nr_grant_frames * (PAGE_SIZE / sizeof(grant_entry_v1_t)) / (PAGE_SIZE / sizeof(grant_entry_v1_t)));
Which is pointless (note GREFS_PER_GRANT_FRAME has been expanded to (PAGE_SIZE / sizeof(grant_entry_v1_t))).
Just use boot_max_nr_grant_frames directly to size the grant table frames array.
Fixes: 30d1eefe3937 ("Import OS interfaces to Xen services.") Sponsored by: Citrix Systems R&D
show more ...
|
#
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 |
|
#
9f3be3a6 |
| 24-Jan-2022 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen: switch to using core atomics for synchronization
Now that the atomic macros are always genuinely atomic on x86, they can be used for synchronization with Xen. A single core VM isn't too unusua
xen: switch to using core atomics for synchronization
Now that the atomic macros are always genuinely atomic on x86, they can be used for synchronization with Xen. A single core VM isn't too unusual, but actual single core hardware is uncommon.
Replace an open-coding of evtchn_clear_port() with the inline.
Substantially inspired by work done by Julien Grall <julien@xen.org>, 2014-01-13 17:40:58.
Reviewed by: royger MFC after: 1 week
show more ...
|
#
5489d7e9 |
| 21-Nov-2022 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: bump used interface version
This is required for a further change that will make use of a field that was added in version 0x00040d00.
No functional change expected.
Sponsored by: Citrix Syste
xen: bump used interface version
This is required for a further change that will make use of a field that was added in version 0x00040d00.
No functional change expected.
Sponsored by: Citrix Systems R&D
show more ...
|
#
f929eb1e |
| 07-May-2022 |
John Baldwin <jhb@FreeBSD.org> |
xen: Remove unused devclass arguments to DRIVER_MODULE.
|
Revision tags: release/12.3.0, release/13.0.0 |
|
#
759ae58c |
| 06-Apr-2021 |
Roger Pau Monné <royger@FreeBSD.org> |
xen/grant-table: remove explicit linear mapping additions
There's no need to explicitly add linear mappings for the grant table area, as the memory is allocated using xenmem_alloc and it should alre
xen/grant-table: remove explicit linear mapping additions
There's no need to explicitly add linear mappings for the grant table area, as the memory is allocated using xenmem_alloc and it should already have a linear mapping that can be obtained using rman_get_virtual.
While there also remove the return value of gnttab_map, since there's no return value anymore.
Sponsored by: Citrix Systems R&D Reviewed by: Elliott Mitchell <ehem+freebsd@m5p.com> Differential revision: https://reviews.freebsd.org/D29602
show more ...
|
#
7de88bb4 |
| 10-Apr-2021 |
Elliott Mitchell <ehem+freebsd@m5p.com> |
xen/grant_table: cleanup max_nr_grant_frames()
This is no more or less than returning the smaller of two values. Since this is what min() does, use that to shrink max_nr_grant_frames() down to the
xen/grant_table: cleanup max_nr_grant_frames()
This is no more or less than returning the smaller of two values. Since this is what min() does, use that to shrink max_nr_grant_frames() down to the single line.
Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D29840
show more ...
|
Revision tags: release/12.2.0 |
|
#
6c7cae4a |
| 01-Sep-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
dev/xen: clean up empty lines in .c and .h files
|
Revision tags: release/11.4.0, release/12.1.0, release/11.3.0, release/12.0.0 |
|
#
14b841d4 |
| 11-Aug-2018 |
Kyle Evans <kevans@FreeBSD.org> |
MFH @ r337607, in preparation for boarding
|
#
bbd7a929 |
| 04-Aug-2018 |
Dimitry Andric <dim@FreeBSD.org> |
Merge ^/head r336870 through r337285, and resolve conflicts.
|
#
5477025a |
| 30-Jul-2018 |
Roger Pau Monné <royger@FreeBSD.org> |
xen/grants: fix deadlocks in the free callbacks
This fixes the panic caused by deadlocking when grant-table free callbacks are used.
The cause of the recursion is: check_free_callbacks() is always
xen/grants: fix deadlocks in the free callbacks
This fixes the panic caused by deadlocking when grant-table free callbacks are used.
The cause of the recursion is: check_free_callbacks() is always called with the lock gnttab_list_lock held. In turn the callback function is also called with the lock held. Then when the client uses any of the grant reference methods which also attempt the lock the gnttab_list_lock mutex from within the free callback a deadlock happens.
Fix this by making the gnttab_list_lock recursive.
Submitted by: Pratyush Yadav <pratyush@freebsd.org> Differential Revision: https://reviews.freebsd.org/D16505
show more ...
|
Revision tags: release/11.2.0 |
|
#
de06f02e |
| 21-Jun-2018 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: check if there are clients waiting in gnttab_end_foreign_access_references
Without a call to check_free_callbacks() clients waiting for grant references would not be woken up even when there ar
xen: check if there are clients waiting in gnttab_end_foreign_access_references
Without a call to check_free_callbacks() clients waiting for grant references would not be woken up even when there are sufficient grant references available.
The check was likely left out as a mistake when the function was first added.
Note that other functions used to free grant references already call check_free_callbacks.
Submitted by: pratyush Reviewed by: royger Differential review: https://reviews.freebsd.org/D15899
show more ...
|
Revision tags: release/10.4.0, release/11.1.0, release/11.0.1, release/11.0.0 |
|
#
057b4402 |
| 26-Apr-2016 |
Pedro F. Giffuni <pfg@FreeBSD.org> |
sys/dev: extend use of the howmany() macro when available.
We have a howmany() macro in the <sys/param.h> header that is convenient to re-use as it makes things easier to read.
|
Revision tags: release/10.3.0 |
|
#
b626f5a7 |
| 04-Jan-2016 |
Glen Barber <gjb@FreeBSD.org> |
MFH r289384-r293170
Sponsored by: The FreeBSD Foundation
|
#
a5d8944a |
| 19-Nov-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Catch up with head (r291075).
|
#
3c3feed4 |
| 01-Nov-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from head
|
#
11d38a57 |
| 28-Oct-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from head
Sponsored by: Gandi.net
|
#
2f9ec994 |
| 21-Oct-2015 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: Code cleanup and small bug fixes
xen/hypervisor.h: - Remove unused helpers: MULTI_update_va_mapping, is_initial_xendomain, is_running_on_xen - Remove unused define CONFIG_X86_PAE - Remove
xen: Code cleanup and small bug fixes
xen/hypervisor.h: - Remove unused helpers: MULTI_update_va_mapping, is_initial_xendomain, is_running_on_xen - Remove unused define CONFIG_X86_PAE - Remove unused variable xen_start_info: note that it's used inpcifront which is not built at all - Remove forward declaration of HYPERVISOR_crash
xen/xen-os.h: - Remove unused define CONFIG_X86_PAE - Drop unused helpers: test_and_clear_bit, clear_bit, force_evtchn_callback - Implement a generic version (based on ofed/include/linux/bitops.h) of set_bit and test_bit and prefix them by xen_ to avoid any use by other code than Xen. Note that It would be worth to investigate a generic implementation in FreeBSD. - Replace barrier() by __compiler_membar() - Replace cpu_relax() by cpu_spinwait(): it's exactly the same as rep;nop = pause
xen/xen_intr.h: - Move the prototype of xen_intr_handle_upcall in it: Use by all the platform
x86/xen/xen_intr.c: - Use BITSET* for the enabledbits: Avoid to use custom helpers - test_bit/set_bit has been renamed to xen_test_bit/xen_set_bit - Don't export the variable xen_intr_pcpu
dev/xen/blkback/blkback.c: - Fix the string format when XBB_DEBUG is enabled: host_addr is typed uint64_t
dev/xen/balloon/balloon.c: - Remove set but not used variable - Use the correct type for frame_list: xen_pfn_t represents the frame number on any architecture
dev/xen/control/control.c: - Return BUS_PROBE_WILDCARD in xs_probe: Returning 0 in a probe callback means the driver can handle this device. If by any chance xenstore is the first driver, every new device with the driver is unset will use xenstore.
dev/xen/grant-table/grant_table.c: - Remove unused cmpxchg - Drop unused include opt_pmap.h: Doesn't exist on ARM64 and it doesn't contain anything required for the code on x86
dev/xen/netfront/netfront.c: - Use the correct type for rx_pfn_array: xen_pfn_t represents the frame number on any architecture
dev/xen/netback/netback.c: - Use the correct type for gmfn: xen_pfn_t represents the frame number on any architecture
dev/xen/xenstore/xenstore.c: - Return BUS_PROBE_WILDCARD in xctrl_probe: Returning 0 in a probe callback means the driver can handle this device. If by any chance xenstore is the first driver, every new device with the driver is unset will use xenstore.
Note that with the changes, x86/include/xen/xen-os.h doesn't contain anymore arch-specific code. Although, a new series will add some helpers that differ between x86 and ARM64, so I've kept the headers for now.
Submitted by: Julien Grall <julien.grall@citrix.com> Reviewed by: royger Differential Revision: https://reviews.freebsd.org/D3921 Sponsored by: Citrix Systems R&D
show more ...
|
Revision tags: release/10.2.0 |
|
#
416ba5c7 |
| 22-Jun-2015 |
Navdeep Parhar <np@FreeBSD.org> |
Catch up with HEAD (r280229-r284686).
|
#
37a48d40 |
| 28-May-2015 |
Glen Barber <gjb@FreeBSD.org> |
MFH: r282615-r283655
Sponsored by: The FreeBSD Foundation
|
#
98e0ffae |
| 27-May-2015 |
Simon J. Gerraty <sjg@FreeBSD.org> |
Merge sync of head
|
#
0df8b29d |
| 08-May-2015 |
Roger Pau Monné <royger@FreeBSD.org> |
xen: introduce a newbus function to allocate unused memory
In order to map memory from other domains when running on Xen FreeBSD uses unused physical memory regions. Until now this memory has been a
xen: introduce a newbus function to allocate unused memory
In order to map memory from other domains when running on Xen FreeBSD uses unused physical memory regions. Until now this memory has been allocated using bus_alloc_resource, but this is not completely safe as we can end up using unreclaimed MMIO or ACPI regions.
Fix this by introducing a new newbus method that can be used by Xen drivers to request for unused memory regions. On amd64 we make sure this memory comes from regions above 4GB in order to prevent clashes with MMIO/ACPI regions. On i386 there's nothing we can do, so just fall back to the previous mechanism.
Sponsored by: Citrix Systems R&D Tested by: Gustau Pérez <gperez@entel.upc.edu>
show more ...
|
#
7757a1b4 |
| 03-May-2015 |
Baptiste Daroussin <bapt@FreeBSD.org> |
Merge from head
|