Page MenuHomeFreeBSD
Feed Advanced Search

Nov 28 2023

royger committed rG54a0b7203c30: xen/apic: remove passing trapframe as argument (authored by ehem_freebsd_m5p.com).
xen/apic: remove passing trapframe as argument
Nov 28 2023, 1:40 PM
royger committed rGc880f12f5ac6: xen/intr: correct misuses of Xen handle pointer type (authored by ehem_freebsd_m5p.com).
xen/intr: correct misuses of Xen handle pointer type
Nov 28 2023, 1:40 PM
royger closed D29913: xen/intr: move x86-only variable out of common.
Nov 28 2023, 1:39 PM
royger closed D32923: xen/intr: remove xenpci headers.
Nov 28 2023, 1:39 PM
royger closed D30865: xen: remove declaration of evtchn_device_upcall().
Nov 28 2023, 1:39 PM
royger committed rGb3195ed2a31f: xen: correct spacing in hypercall.h headers (authored by ehem_freebsd_m5p.com).
xen: correct spacing in hypercall.h headers
Nov 28 2023, 1:39 PM

Nov 7 2023

royger accepted D42343: xen: improve shutdown hook.

Change LGTM, thanks :).

Nov 7 2023, 8:40 AM
royger added a comment to D42343: xen: improve shutdown hook.

My opinion is that halt should behave equally on bare metal than when virtualized, otherwise it's just going to confuse users. If we believe that halt should behave differently (iow: do power off) it should be changed uniformly.

First, my current opinion is FreeBSD on Xen as Domain 0, should behave similarly to FreeBSD on bare metal.

Second, my current opinion is spinning in a halt-loop is a poor fit for FreeBSD on Xen as a user Domain. The reason is the domain ends up sitting there doing nothing useful.

Nov 7 2023, 8:39 AM

Nov 6 2023

royger committed rG318bbb6d5a1e: xen-netfront: attempt to make cleanup idempotent (authored by royger).
xen-netfront: attempt to make cleanup idempotent
Nov 6 2023, 10:18 AM
royger committed rG1a12f0aea81b: xen: fix initialization of grant table frame array (authored by royger).
xen: fix initialization of grant table frame array
Nov 6 2023, 10:18 AM
royger added inline comments to D42343: xen: improve shutdown hook.
Nov 6 2023, 8:52 AM
royger added a comment to D42343: xen: improve shutdown hook.

My opinion is that halt should behave equally on bare metal than when virtualized, otherwise it's just going to confuse users. If we believe that halt should behave differently (iow: do power off) it should be changed uniformly.

Nov 6 2023, 8:47 AM

Nov 2 2023

royger added a comment to D42343: xen: improve shutdown hook.

There's also SHUTDOWN_crash which should likely be used if the kernel panicked, likely by checking KERNEL_PANICKED()?

Nov 2 2023, 4:40 PM

Oct 16 2023

royger committed R11:8b5aa5e08158: {emulators,sysutils}/xen-{kernel,tools}: update to 4.17.2 (authored by royger).
{emulators,sysutils}/xen-{kernel,tools}: update to 4.17.2
Oct 16 2023, 1:23 PM

Oct 3 2023

royger accepted D41439: netfront: fix the support for disabling LRO at boot time.

Are you fine with committing it yourself? Might be worth requesting for backport to the releng 14.0 branch, as it's a low risk fix IMO.

Oct 3 2023, 10:44 AM

Aug 22 2023

royger added a comment to D41439: netfront: fix the support for disabling LRO at boot time.

Would it be simpler to not set IFCAP_LRO in the if_setcapenable() call on create_netdev() if xn_enable_lro is false? I think that way we would avoid exposing feature-gso-tcpv4 on xenstore and you won't need to modify talk_to_backend().

Aug 22 2023, 10:16 AM

Aug 15 2023

royger added a comment to D41439: netfront: fix the support for disabling LRO at boot time.

I will look in more detail on Monday when I'm back from PTO, but overall I agree it should be fixed. I will also look into possible solutions to detect when forwarding is enabled and disable LRO automatically.

Aug 15 2023, 5:47 PM

Jul 21 2023

royger committed rG20fc5bf7df1d: xen: move vcpu_info to common, leave hook for setup (authored by ehem_freebsd_m5p.com).
xen: move vcpu_info to common, leave hook for setup
Jul 21 2023, 9:00 AM

Jun 28 2023

royger committed R11:8d3618a14d48: sys-utils/xen-tools: remove usage of signed bitfields (authored by royger).
sys-utils/xen-tools: remove usage of signed bitfields
Jun 28 2023, 1:57 PM

Apr 14 2023

royger committed rG6d765bff6f73: xen: move common variables off of sys/x86/xen/hvm.c (authored by ehem_freebsd_m5p.com).
xen: move common variables off of sys/x86/xen/hvm.c
Apr 14 2023, 2:03 PM
royger committed rG5e2183dab871: xen/intr: move sys/x86/xen/xen_intr.c to sys/dev/xen/bus/ (authored by julien_xen.org).
xen/intr: move sys/x86/xen/xen_intr.c to sys/dev/xen/bus/
Apr 14 2023, 2:03 PM
royger committed rG2d795ab1eaa7: xen/intr: move x86 PIC interface to xen_arch_intr.c, introduce wrappers (authored by julien_xen.org).
xen/intr: move x86 PIC interface to xen_arch_intr.c, introduce wrappers
Apr 14 2023, 2:03 PM
royger committed rG6699c22c1cb0: xen/intr: move interrupt allocation/release to architecture (authored by ehem_freebsd_m5p.com).
xen/intr: move interrupt allocation/release to architecture
Apr 14 2023, 2:03 PM
royger committed rG373301019f16: xen/intr: remove type argument from xen_intr_alloc_isrc() (authored by ehem_freebsd_m5p.com).
xen/intr: remove type argument from xen_intr_alloc_isrc()
Apr 14 2023, 2:03 PM
royger committed rGd0a69069bb22: xen/x86: rework isrc allocation to use list instead of table scanning (authored by ehem_freebsd_m5p.com).
xen/x86: rework isrc allocation to use list instead of table scanning
Apr 14 2023, 2:03 PM
royger committed rGab7ce14b1d9d: xen/intr: introduce dev/xen/bus/intr-internal.h (authored by julien_xen.org).
xen/intr: introduce dev/xen/bus/intr-internal.h
Apr 14 2023, 2:03 PM
royger committed rGd32d65276b20: xen/intr: move evtchn_type to intr-internal.h (authored by ehem_freebsd_m5p.com).
xen/intr: move evtchn_type to intr-internal.h
Apr 14 2023, 2:03 PM
royger committed rGaf610cabf1f4: xen/intr: adjust xen_intr_handle_upcall() to match driver filter (authored by ehem_freebsd_m5p.com).
xen/intr: adjust xen_intr_handle_upcall() to match driver filter
Apr 14 2023, 2:03 PM
royger committed rG2794893ebff0: xen/intr: do full xenisrc initialization during binding (authored by ehem_freebsd_m5p.com).
xen/intr: do full xenisrc initialization during binding
Apr 14 2023, 2:03 PM
royger committed rGff73b1d69b90: xen/intr: split xen_intr_isrc_lock uses (authored by ehem_freebsd_m5p.com).
xen/intr: split xen_intr_isrc_lock uses
Apr 14 2023, 2:03 PM
royger committed rG834013dea2d2: xen/intr: rework xen_intr_alloc_isrc() locking (authored by ehem_freebsd_m5p.com).
xen/intr: rework xen_intr_alloc_isrc() locking
Apr 14 2023, 2:03 PM
royger committed rG09bd542d17c9: xen/intr: rework xen_intr_alloc_isrc() call structure (authored by ehem_freebsd_m5p.com).
xen/intr: rework xen_intr_alloc_isrc() call structure
Apr 14 2023, 2:03 PM
royger closed D28982: xen: move common variables and code off of sys/x86/xen/hvm.c.
Apr 14 2023, 2:03 PM
royger closed D30236: xen/intr: move sys/x86/xen/xen_intr.c to sys/xen/xen_intr.c.
Apr 14 2023, 2:02 PM
royger closed D30909: xen/intr: introduce xen_arch_intr.c.
Apr 14 2023, 2:02 PM
royger closed D30936: xen/intr: move interrupt allocation/release to architecture.
Apr 14 2023, 2:02 PM
royger closed D31188: xen/intr: move isrc allocation out of xen_intr_bind_isrc().
Apr 14 2023, 2:02 PM
royger closed D30006: xen/intr: adjust xen_intr_handle_upcall() to match interrupt filter.
Apr 14 2023, 2:02 PM
royger committed rG149c58101811: xen/intr: adjust xenisrc types, adjust format strings to match (authored by ehem_freebsd_m5p.com).
xen/intr: adjust xenisrc types, adjust format strings to match
Apr 14 2023, 2:02 PM
royger closed D30648: xen/intr: move x86 bits into xen_arch_isrc_t structure.
Apr 14 2023, 2:02 PM
royger committed rGecdcad6516c9: xen: remove CONFIG_XEN_COMPAT, purge Xen 3.0 compatibility (authored by ehem_freebsd_m5p.com).
xen: remove CONFIG_XEN_COMPAT, purge Xen 3.0 compatibility
Apr 14 2023, 2:02 PM
royger committed rG61ccede8cf6c: xen: purge no longer used hypervisor functions (authored by ehem_freebsd_m5p.com).
xen: purge no longer used hypervisor functions
Apr 14 2023, 2:02 PM
royger closed D30726: xen/intr: rework locking, prepare xen_intr_alloc_isrc() for split.
Apr 14 2023, 2:02 PM
royger committed rG28a78d860e46: xen: introduce XEN_CPUID_TO_VCPUID()/XEN_VCPUID() (authored by julien_xen.org).
xen: introduce XEN_CPUID_TO_VCPUID()/XEN_VCPUID()
Apr 14 2023, 2:01 PM
royger committed rGb2c50bb934fb: xen/efi: make Xen PV EFI clock optional (authored by ehem_freebsd_m5p.com).
xen/efi: make Xen PV EFI clock optional
Apr 14 2023, 2:01 PM
royger closed D31065: xen/efi: make Xen PV EFI clock optional.
Apr 14 2023, 2:01 PM
royger committed rG054073c2831c: xen/intr: xen_intr_bind_isrc() always set handle (authored by ehem_freebsd_m5p.com).
xen/intr: xen_intr_bind_isrc() always set handle
Apr 14 2023, 2:01 PM
royger closed D29404: xen: introduce XEN_CPUID_TO_VCPUID().
Apr 14 2023, 2:01 PM

Mar 29 2023

royger committed rGb94341afcb12: xen/intr: rework xen_intr_resume() for in-place remapping (authored by ehem_freebsd_m5p.com).
xen/intr: rework xen_intr_resume() for in-place remapping
Mar 29 2023, 7:56 AM
royger committed rGe45c8ea31cd8: xen/intr: merge parts of resume functionality into new function (authored by ehem_freebsd_m5p.com).
xen/intr: merge parts of resume functionality into new function
Mar 29 2023, 7:56 AM
royger committed rG910bd069f809: xen/intr: remove x86 APIC headers from xen_intr.c (authored by julien_xen.org).
xen/intr: remove x86 APIC headers from xen_intr.c
Mar 29 2023, 7:56 AM
royger committed rG40ad9aaa880c: xen/intr: stop passing shared_info_t to xen_intr_active_ports() (authored by ehem_freebsd_m5p.com).
xen/intr: stop passing shared_info_t to xen_intr_active_ports()
Mar 29 2023, 7:56 AM
royger committed rG9f3be3a6ec8e: xen: switch to using core atomics for synchronization (authored by ehem_freebsd_m5p.com).
xen: switch to using core atomics for synchronization
Mar 29 2023, 7:55 AM
royger committed rG49ca3167b7be: xen/intr: add check for intr_register_source() errors (authored by ehem_freebsd_m5p.com).
xen/intr: add check for intr_register_source() errors
Mar 29 2023, 7:55 AM
royger committed rG1797ff962769: xen/intr: cleanup event channel number use (authored by ehem_freebsd_m5p.com).
xen/intr: cleanup event channel number use
Mar 29 2023, 7:55 AM
royger committed rG2b2415bafa0d: xen/intr: fix corruption of event channel table (authored by ehem_freebsd_m5p.com).
xen/intr: fix corruption of event channel table
Mar 29 2023, 7:55 AM
royger closed D30599: xen/intr: rework xen_intr_resume() for in-place remapping.
Mar 29 2023, 7:55 AM
royger closed D30598: xen/intr: merge parts of resume functionality into new function.
Mar 29 2023, 7:55 AM
royger closed D31995: xen/intr: add check for intr_register_source() errors.
Mar 29 2023, 7:55 AM
royger closed D30743: xen/intr: rework handling of event channel numbers in xen_intr.c.
Mar 29 2023, 7:54 AM
royger committed rG0ebf9bb42d7c: xen/intr: fix overflow of Xen interrupt range (authored by ehem_freebsd_m5p.com).
xen/intr: fix overflow of Xen interrupt range
Mar 29 2023, 7:54 AM
royger committed rG2d5e325303cf: xen/intr: always set xi_close in xen_intr_bind_isrc() (authored by ehem_freebsd_m5p.com).
xen/intr: always set xi_close in xen_intr_bind_isrc()
Mar 29 2023, 7:53 AM

Mar 24 2023

royger requested changes to D29404: xen: introduce XEN_CPUID_TO_VCPUID().

You will likely need to introduce a wrapper for xen_intr_assign_cpu() in order to keep the second parameter as an apic_id.

Mar 24 2023, 3:05 PM

Mar 14 2023

royger committed rGa78e46a7dbb3: xen: take struct size into account for video information (authored by royger).
xen: take struct size into account for video information
Mar 14 2023, 9:02 AM
royger committed R11:7326a17b98b6: emulators/xen-kernel: add fix for fetching video mode (authored by royger).
emulators/xen-kernel: add fix for fetching video mode
Mar 14 2023, 8:52 AM

Mar 9 2023

royger committed rG6f80738b228c: xen: fetch dom0 video console information from Xen (authored by royger).
xen: fetch dom0 video console information from Xen
Mar 9 2023, 4:15 PM
royger committed rG5489d7e93a06: xen: bump used interface version (authored by royger).
xen: bump used interface version
Mar 9 2023, 4:15 PM
royger committed R11:3688ce5f8484: {emulators,sysutils}/xen-{kernel,tools}: update to 4.17 (authored by royger).
{emulators,sysutils}/xen-{kernel,tools}: update to 4.17
Mar 9 2023, 3:08 PM
royger added a comment to D37682: xen: bump used interface version.

Updating to newer variation of Xen's interface here. I'd noticed NR_EVENT_CHANNELS and EVTCHN_2L_NR_CHANNELS before, but hadn't known which one was the more recent/proper one.

There is substantial overlap with D30743. Notably D30743 adds a bunch of uses due to _Static_assert()s with the constant. Looking at the number of uses, I would suggest xen_intr.c should use a #define NR_EVENT_CHANNELS, which then moves to sys/dev/xen/bus/intr-internal.h with D30648. The reason being there are so many uses, both the architecture and independent portions would need simultaneous update if there was a move to the more recent types of event channel.

Mar 9 2023, 12:28 PM

Feb 8 2023

royger added a comment to D37800: Mechanically convert Xen netfront/netback(4) to DrvAPI.

Sorry, I'm on parental leave and so far didn't have time to look into this. I will be back on the 8th of March, is there any rush to get this in now? If there's a rush I would be fine with this going in as long as someone can give a look and test it.

Feb 8 2023, 11:11 AM

Dec 13 2022

royger requested review of D37682: xen: bump used interface version.
Dec 13 2022, 10:38 AM

Dec 12 2022

royger accepted D37667: misc/seabios: Update to 1.16.0; use binutils binaries.

LGTM. Thanks for doing this.

Dec 12 2022, 11:29 AM

Nov 29 2022

royger committed rGbc9a5b049797: xen/acpi: only evaluate Processor objects matching online CPUs (authored by royger).
xen/acpi: only evaluate Processor objects matching online CPUs
Nov 29 2022, 3:55 PM

Nov 3 2022

royger accepted D30816: xen/console: add hook for xen_early_init().

IMO would be better to do this probing inside of an Arm specific early init routine, but if the current approach works and it's the prefered way for Arm people that's fine with me.

Nov 3 2022, 12:39 PM
royger committed rGdabb3db7a817: xen/netfront: deal with mbuf data crossing a page boundary (authored by royger).
xen/netfront: deal with mbuf data crossing a page boundary
Nov 3 2022, 12:38 PM
royger closed D33876: xen/netfront: deal with mbuf data crossing a page boundary.
Nov 3 2022, 12:38 PM

Oct 27 2022

royger accepted D37067: Increase MAX_APIC_ID safeguard to 0x800.

It looks like MAX_APIC_ID is used only in madt_parse_cpu() as a limit, so this change should have no functional impact on any currently working system.
I agree that we should address allocations sized by max_apic_id; we need to do something similar for arrays sized by MAXCPU and that's going to be a lot more work.

Oct 27 2022, 1:28 PM

Oct 20 2022

royger added a comment to D37067: Increase MAX_APIC_ID safeguard to 0x800.

Could you do this in the same patch where MAXCPU is increased?

I'd like to do it independently, so that setting MAXCPU via the kernel config works again. Ideally also MFC this (but no MAXCPU bump) to stable/13. Alternatively, could we just replace MAX_APIC_ID with MAXCPU * 2?

Oct 20 2022, 1:25 PM
royger added a comment to D37067: Increase MAX_APIC_ID safeguard to 0x800.

Could you do this in the same patch where MAXCPU is increased? I think it would be clearer that there's a dependency between MAXCPU and MAX_APIC_ID and that both need to be increased in lockstep.

Oct 20 2022, 12:25 PM
royger added a comment to D37060: Limit MAXCPU <= MAX_APIC_ID assertion to i386.

No, MAX_APIC_ID is also relevant for amd64, as it's used by madt_parse_cpu(), it needs to be bumped to twice the value of MAXCPU I think.

Oct 20 2022, 8:19 AM
royger added a comment to D36838: amd64: Bump MAXCPU to 1024 (from 256).

But you need to also bump MAX_APIC_ID, or else the MADT parse code will start dropping CPUs that have IDs > 512. Note that APIC IDs don't need to be continuous, so it's possible to have a system only with even APIC IDs (ie: 0, 2, 4..) at which point in order to support 512 CPUs you might need to be able to parse APIC IDs up to 1024 or more.

Oct 20 2022, 8:12 AM

Sep 23 2022

royger accepted D36191: PVH: Set bootmethod to XEN or PVH appropriately.

LGTM, the commit/revision title needs updating AFAICT.

Sep 23 2022, 1:53 PM
royger accepted D35801: x86: Distinguish Xen from non-Xen PVH boots.

LGTM, just one nit. Fell free to commit when that's done, no need for another round of review.

Sep 23 2022, 1:52 PM
royger accepted D35800: x86: Add support for PVH version 1 memmap.
Sep 23 2022, 1:34 PM

Aug 20 2022

royger added a comment to D36258: xen/timer: rename "timer.c" to "xen_timer.c".

FWIW xen_time.c might be slightly better, because it contains the code for the event timer, but also the time counter and the system clock.

Aug 20 2022, 1:21 PM
royger accepted D36258: xen/timer: rename "timer.c" to "xen_timer.c".

I was expecting this would happen sooner or later, TBH I was waiting for a real clash to happen before doing the renaming. I assume you now need to use parts of this file on Arm?

Aug 20 2022, 1:20 PM

Aug 18 2022

royger accepted D35800: x86: Add support for PVH version 1 memmap.

LGTM. I would use unsigned int as array index, but that's a question of taste.

Aug 18 2022, 12:54 PM
royger added a comment to D35800: x86: Add support for PVH version 1 memmap.

This mostly doesn't effect my goals so I've been quiet. One issue here though, what is your source for PVH version numbers?

Previous work has referred them using one-based versions, whereas you appear to be using zero-based versions. Of note ac3ede5371af/D30228. Perhaps Firecracker uses zero-based while Xen uses one-based? (I'm unsure which is "official", just prior usage is one-based)

Aug 18 2022, 12:46 PM

Aug 14 2022

royger added a comment to D36191: PVH: Set bootmethod to XEN or PVH appropriately.

I think I would prefer setting it to PVH in both cases, we have other ways to expose the underlying hypervisor, and the boot entry point is the same for Xen or KVM PVH.

Aug 14 2022, 8:47 AM

Jul 14 2022

royger added inline comments to D35800: x86: Add support for PVH version 1 memmap.
Jul 14 2022, 2:10 PM
royger added a comment to D35801: x86: Distinguish Xen from non-Xen PVH boots.

I wonder whether we might want to move part of the x86/xen/pv.c contents (IOW: those used by firecracker also) into a more generic file? Maybe sys/x86/x86/pvh.c?

Jul 14 2022, 1:57 PM

Jun 30 2022

royger committed rG77cb05db0cee: x86/xen: stop assuming kernel memory loading order in PVH (authored by royger).
x86/xen: stop assuming kernel memory loading order in PVH
Jun 30 2022, 6:55 AM
royger closed D35628: x86/xen: stop assuming kernel memory loading order in PVH.
Jun 30 2022, 6:54 AM

Jun 29 2022

royger updated the diff for D35628: x86/xen: stop assuming kernel memory loading order in PVH.
  • Use MAX() instead of max().
  • Remove extra newline.
Jun 29 2022, 8:19 AM
royger added inline comments to D35628: x86/xen: stop assuming kernel memory loading order in PVH.
Jun 29 2022, 8:14 AM
royger abandoned D35629: x86/xen: set the ACPI RSDP kenv hint earlier for PVH.

Nah, I guess there's no need to move it, so I will keep as-is to avoid code churn. Sorry for the alias mess :).

Jun 29 2022, 7:58 AM

Jun 28 2022

royger requested review of D35629: x86/xen: set the ACPI RSDP kenv hint earlier for PVH.
Jun 28 2022, 4:00 PM
royger requested review of D35628: x86/xen: stop assuming kernel memory loading order in PVH.
Jun 28 2022, 3:53 PM
royger committed rG091febc04a5d: xen/blkback: do not use x86 CPUID in generic code (authored by royger).
xen/blkback: do not use x86 CPUID in generic code
Jun 28 2022, 7:53 AM
royger committed rG881c145431b7: elfnote: place note in a PT_NOTE program header (authored by royger).
elfnote: place note in a PT_NOTE program header
Jun 28 2022, 7:53 AM