Page MenuHomeFreeBSD

royger (Roger Pau Monné)
User

Projects

User Details

User Since
May 18 2014, 2:32 AM (549 w, 5 d)

Recent Activity

Wed, Nov 6

royger committed rG6ac22dc3d823: x86/xen: Use intended values in HVM_CALLBACK_VECTOR (authored by Alan Robinson <alan.robinson@fujitsu.com>).
x86/xen: Use intended values in HVM_CALLBACK_VECTOR
Wed, Nov 6, 2:47 PM

Tue, Nov 5

royger committed rG7174b9817cdd: xen: fix initialization of grant table frame array (authored by royger).
xen: fix initialization of grant table frame array
Tue, Nov 5, 1:14 PM
royger committed rG329a3b0844e6: xen: fix initialization of grant table frame array (authored by royger).
xen: fix initialization of grant table frame array
Tue, Nov 5, 12:34 PM
royger committed rGee72bc1d1ff8: xen/debug: remove usage of sbuf_{clear,finish}() on drained sbuf (authored by royger).
xen/debug: remove usage of sbuf_{clear,finish}() on drained sbuf
Tue, Nov 5, 8:58 AM
royger committed R9:ddc41033bcc8: [documentation][virtualization]: fix Xen host requirements (authored by royger).
[documentation][virtualization]: fix Xen host requirements
Tue, Nov 5, 8:19 AM

Apr 16 2024

royger committed rGf750dce972ef: x86/xen: fix accounted interrupt time (authored by royger).
x86/xen: fix accounted interrupt time
Apr 16 2024, 7:08 AM

Apr 12 2024

royger committed R11:80e73db7c857: {emulators,sysutils}/xen-{kernel,tools}: update to 4.8.2 (authored by royger).
{emulators,sysutils}/xen-{kernel,tools}: update to 4.8.2
Apr 12 2024, 10:46 AM

Apr 3 2024

royger added a comment to D44262: x86/xen: fix accounted interrupt time.

Most of what is presently here is definitely wrong. xen_intr_handle_upcall() retrieving the trapframe from curthread->td_intr_frame is definitely right. Issue is xen_intr_handle_upcall() needs to behave as a proper driver_filter_t for the XenPCI support. ARM(64) and RISC-V also need this, likely PowerPC would need similar. I do see two ways forward though:

  1. I mentioned this before handing the patch for af610cabf1f off that I was uncertain about the handling of curthread->td_intr_nesting_level. As already mentioned, perhaps xen_arch_intr_handle_upcall() should be leaving the value alone?
  2. I'm wondering about the indirect call to xen_intr_handle_upcall() via the XenPCI implementation. During that call curthread->td_intr_nesting_level would start out as 1, but would then end up as 2 when xen_intr_handle_upcall() calls xen_arch_intr_execute_handlers() => intr_execute_handlers() => intr_event_execute_handlers(). Perhaps xen_intr_handle_upcall() should be decrementing curthread->td_intr_nesting_level before it calls handlers?

I've noticed the load average seeming a bit on the high side on my ARM64 test machine. I'm unsure whether that might be this bug versus simply being a debugging kernel. I can state I've tried the second and it appeared to work.

Apr 3 2024, 9:55 AM
royger added inline comments to D44451: amd64/xen: move early PVH entry point code from assembly to C.
Apr 3 2024, 9:47 AM
royger planned changes to D44451: amd64/xen: move early PVH entry point code from assembly to C.

The current code however cannot be committed, because Elftoolchain objcopy segfaults when dong the conversion from elf32-i386 -> elf64-x86-64.

Is anyone actively working on switching? Maybe the objcopy bug is easy to fix.

Apr 3 2024, 9:46 AM

Mar 21 2024

royger requested review of D44451: amd64/xen: move early PVH entry point code from assembly to C.
Mar 21 2024, 11:21 AM

Mar 7 2024

royger added inline comments to D44262: x86/xen: fix accounted interrupt time.
Mar 7 2024, 6:00 PM
royger added a comment to D44251: x86/xen: use UNUSABLE e820 regions for foreign mappings.

This is oddly similar to what Julien Grall did in 2015. For aarch64 the suggested range for the shared information page is available to the platform device. Perhaps the architecture should pass the struct resource * to xenpv?

Mar 7 2024, 5:31 PM
royger added a comment to D44262: x86/xen: fix accounted interrupt time.

xen_intr_handle_upcall() only requires the trap_frame because intr_execute_handlers() requires it, if the plan is to remove it from intr_execute_handlers() let's remove it from xen_intr_handle_upcall() at the same time.

Mar 7 2024, 5:24 PM
royger added inline comments to D44262: x86/xen: fix accounted interrupt time.
Mar 7 2024, 5:23 PM
royger added inline comments to D44262: x86/xen: fix accounted interrupt time.
Mar 7 2024, 5:19 PM
royger added inline comments to D44262: x86/xen: fix accounted interrupt time.
Mar 7 2024, 4:45 PM
royger updated the diff for D44262: x86/xen: fix accounted interrupt time.
Mar 7 2024, 9:04 AM
royger requested review of D44262: x86/xen: fix accounted interrupt time.
Mar 7 2024, 9:02 AM

Mar 6 2024

royger requested review of D44251: x86/xen: use UNUSABLE e820 regions for foreign mappings.
Mar 6 2024, 9:39 AM

Feb 22 2024

royger committed R11:10944178948b: {sysutils,emulators}/xen-{tools,kernel}: update to latest stable hash (authored by royger).
{sysutils,emulators}/xen-{tools,kernel}: update to latest stable hash
Feb 22 2024, 5:47 PM
royger committed rGf62d90e5e938: x86/xen: use correct printf specifier. (authored by royger).
x86/xen: use correct printf specifier.
Feb 22 2024, 2:41 PM
royger committed rG8f5406c77f1b: x86/xen: implement early init hook (authored by royger).
x86/xen: implement early init hook
Feb 22 2024, 10:32 AM
royger committed rG4401b0685163: x86/cpu: introduce an optional hook for early hypervisor initialization (authored by royger).
x86/cpu: introduce an optional hook for early hypervisor initialization
Feb 22 2024, 10:32 AM
royger committed rGf0cf86c075cd: x86/xen: replace xen_cpuid_base with hv_base (authored by royger).
x86/xen: replace xen_cpuid_base with hv_base
Feb 22 2024, 10:32 AM
royger committed rG027b66d64b54: x86/xen: do video console fixup as part of early initialization (authored by royger).
x86/xen: do video console fixup as part of early initialization
Feb 22 2024, 10:32 AM
royger committed rG5d62aba742ac: x86/xen: move shared page setup to early init handler (authored by royger).
x86/xen: move shared page setup to early init handler
Feb 22 2024, 10:32 AM
royger committed rG9a687d1fe3af: x86/xen: introduce a Xen early init function (authored by royger).
x86/xen: introduce a Xen early init function
Feb 22 2024, 10:32 AM
royger committed rG848e2719af50: x86/xen: remove parameter from fixup_console() (authored by royger).
x86/xen: remove parameter from fixup_console()
Feb 22 2024, 10:32 AM
royger committed rGe283c994ab27: x86/xen: fill hypercall page with int3 (authored by royger).
x86/xen: fill hypercall page with int3
Feb 22 2024, 10:32 AM
royger closed D43764: x86/xen: implement early init hook.
Feb 22 2024, 10:32 AM · x86
royger committed rG6744fd8e7503: x86/cpu: improve hypervisor detection (authored by royger).
x86/cpu: improve hypervisor detection
Feb 22 2024, 10:32 AM
royger closed D43763: x86/cpu: introduce an optional hook for early.
Feb 22 2024, 10:32 AM · x86
royger closed D43935: x86/xen: replace xen_cpuid_base with hv_base.
Feb 22 2024, 10:31 AM
royger closed D43934: x86/xen: do video console fixup as part of early initialization.
Feb 22 2024, 10:31 AM
royger committed rG399386f190f1: x86/xen: introduce non-hypercall based emergency print (authored by royger).
x86/xen: introduce non-hypercall based emergency print
Feb 22 2024, 10:31 AM
royger closed D43933: x86/xen: move shared page setup to early init handler.
Feb 22 2024, 10:31 AM
royger closed D43932: x86/xen: introduce a Xen early init function.
Feb 22 2024, 10:31 AM
royger committed rG4ece79968e70: x86/xen: fix out of bounds access to the event channel masks on resume (authored by royger).
x86/xen: fix out of bounds access to the event channel masks on resume
Feb 22 2024, 10:31 AM
royger closed D43931: x86/xen: remove parameter from fixup_console().
Feb 22 2024, 10:31 AM
royger closed D43930: x86/xen: fill hypercall page with int3.
Feb 22 2024, 10:31 AM
royger closed D43508: x86/cpu: improve hypervisor detection.
Feb 22 2024, 10:31 AM
royger closed D43929: x86/xen: introduce non-hypercall based emergency print.
Feb 22 2024, 10:31 AM
royger closed D43928: x86/xen: fix out of bounds access to the event channel masks on resume.
Feb 22 2024, 10:31 AM

Feb 20 2024

royger updated the diff for D43932: x86/xen: introduce a Xen early init function.

Check linear address and use %u to print an uint32_t

Feb 20 2024, 11:26 AM
royger added a comment to D43928: x86/xen: fix out of bounds access to the event channel masks on resume.

Depending on where xen_intr_disable_source() and xen_intr_disable_intr() were being called from, this is fixing both 1797ff962769 and some other commit. Certainly 1797ff962769 may have exposed this, but the is_valid_evtchn() call was needed earlier (could be rG76acc41fb7c7, or even before).

Feb 20 2024, 11:08 AM

Feb 19 2024

royger added inline comments to D43932: x86/xen: introduce a Xen early init function.
Feb 19 2024, 3:18 PM
royger added inline comments to D43932: x86/xen: introduce a Xen early init function.
Feb 19 2024, 2:44 PM
royger added inline comments to D43932: x86/xen: introduce a Xen early init function.
Feb 19 2024, 2:25 PM

Feb 16 2024

royger committed rGe7e2431586a4: x86/xen: fix migration when ACPI suspend is not available (authored by royger).
x86/xen: fix migration when ACPI suspend is not available
Feb 16 2024, 1:17 PM
royger closed D43765: x86/xen: fix migration when ACPI suspend is not available.
Feb 16 2024, 1:17 PM · x86
royger updated the diff for D43764: x86/xen: implement early init hook.

Context adjustments due to modifications in previous patches

Feb 16 2024, 12:44 PM · x86
royger requested review of D43935: x86/xen: replace xen_cpuid_base with hv_base.
Feb 16 2024, 12:42 PM
royger requested review of D43934: x86/xen: do video console fixup as part of early initialization.
Feb 16 2024, 12:38 PM
royger requested review of D43933: x86/xen: move shared page setup to early init handler.
Feb 16 2024, 12:27 PM
royger requested review of D43932: x86/xen: introduce a Xen early init function.
Feb 16 2024, 12:21 PM
royger requested review of D43931: x86/xen: remove parameter from fixup_console().
Feb 16 2024, 12:15 PM
royger requested review of D43930: x86/xen: fill hypercall page with int3.
Feb 16 2024, 12:15 PM
royger requested review of D43929: x86/xen: introduce non-hypercall based emergency print.
Feb 16 2024, 12:13 PM
royger requested review of D43928: x86/xen: fix out of bounds access to the event channel masks on resume.
Feb 16 2024, 12:11 PM
royger updated the diff for D43764: x86/xen: implement early init hook.

Fix comments.

Feb 16 2024, 12:04 PM · x86
royger updated the diff for D43765: x86/xen: fix migration when ACPI suspend is not available.

Add Xen guest assert.

Feb 16 2024, 11:57 AM · x86
royger added inline comments to D43765: x86/xen: fix migration when ACPI suspend is not available.
Feb 16 2024, 11:56 AM · x86

Feb 11 2024

royger added inline comments to D43764: x86/xen: implement early init hook.
Feb 11 2024, 3:54 PM · x86

Feb 6 2024

royger added inline comments to D43764: x86/xen: implement early init hook.
Feb 6 2024, 8:02 PM · x86
royger added inline comments to D43765: x86/xen: fix migration when ACPI suspend is not available.
Feb 6 2024, 5:22 PM · x86
royger updated the diff for D43765: x86/xen: fix migration when ACPI suspend is not available.

Add comment.

Feb 6 2024, 5:21 PM · x86
royger added inline comments to D43763: x86/cpu: introduce an optional hook for early.
Feb 6 2024, 4:17 PM · x86
royger updated the diff for D43764: x86/xen: implement early init hook.

Upload diff with context.

Feb 6 2024, 4:16 PM · x86
royger added a comment to D43764: x86/xen: implement early init hook.

Could you please upload diffs with context? i.e., add -U99999 or so to diff's parameters.

Hm, that's the output from git format-patch. I wonder why it doesn't pick the context automatically from the repo?

How are you uploading it? arc diff --create <revision> or git arc create will indeed fetch context automatically. If you're manually uploading diffs, then it won't. See https://wiki.freebsd.org/Phabricator#Create_a_Revision

Feb 6 2024, 4:16 PM · x86
royger updated the diff for D43763: x86/cpu: introduce an optional hook for early.

Fix possaible use of init_fn uninitialized.

Feb 6 2024, 4:13 PM · x86
royger added inline comments to D43763: x86/cpu: introduce an optional hook for early.
Feb 6 2024, 4:01 PM · x86
royger added a comment to D43764: x86/xen: implement early init hook.

Could you please upload diffs with context? i.e., add -U99999 or so to diff's parameters.

Feb 6 2024, 3:58 PM · x86
royger requested review of D43765: x86/xen: fix migration when ACPI suspend is not available.
Feb 6 2024, 8:43 AM · x86
royger updated the summary of D43764: x86/xen: implement early init hook.
Feb 6 2024, 8:42 AM · x86
royger requested review of D43764: x86/xen: implement early init hook.
Feb 6 2024, 8:42 AM · x86
royger requested review of D43763: x86/cpu: introduce an optional hook for early.
Feb 6 2024, 8:39 AM · x86
royger updated the diff for D43508: x86/cpu: improve hypervisor detection.

Fix detection

Feb 6 2024, 8:37 AM

Jan 23 2024

royger added a comment to D43508: x86/cpu: improve hypervisor detection.
In D43508#993354, @jhb wrote:

Oof, ok. I guess for now this approach is fine of treating "HV" as a secondary signature (i.e. one other hypervisors will emulate). I do think we do probably want to eventually transition to more of a "hypervisor_present()" sort of thing I described which can either be a bitmap or something else and remove direct checks of vm_guest. One instance of s/HperV/HyperV/ in the commit log btw. (I really wish code review tools permitted per-line comments on commit logs, not just the diff.)

Jan 23 2024, 4:17 PM
royger added a comment to D43508: x86/cpu: improve hypervisor detection.
In D43508#992957, @jhb wrote:

I think what we want instead is for vm_guest to be the "main" hypervisor for the first leaf, but have a way that drivers can ask "is hypervisor X present" when checking for X-specific extensions or PV devices, etc. That is, if you are running under Xen but with support for some Hyper-V PV devices, I think vm_guest should still be XEN, but we want the PV device drivers to be calling some bool hypervisor_present(enum) instead, so that instead of doing if (vm_guest == VM_GUEST_HV) the drivers call if (hypervisor_present(VM_GUEST_HV)).

Jan 23 2024, 8:48 AM

Jan 19 2024

royger added inline comments to D43508: x86/cpu: improve hypervisor detection.
Jan 19 2024, 3:11 PM
royger requested review of D43508: x86/cpu: improve hypervisor detection.
Jan 19 2024, 9:32 AM

Jan 16 2024

royger committed rGb0165dc4539f: x86/xen: fix HVM guest hypercall page setup (authored by royger).
x86/xen: fix HVM guest hypercall page setup
Jan 16 2024, 5:52 PM

Jan 12 2024

royger closed D43373: xen: improve man (4) page.
Jan 12 2024, 9:20 AM
royger committed rG82126ef92fdb: xen: improve man (4) page (authored by royger).
xen: improve man (4) page
Jan 12 2024, 9:20 AM

Jan 9 2024

royger updated the diff for D43373: xen: improve man (4) page.

Add line break after full stop.

Jan 9 2024, 9:47 AM
royger requested review of D43373: xen: improve man (4) page.
Jan 9 2024, 9:29 AM

Dec 21 2023

royger accepted D43145: gntdev: Handle errors from suword32() in gntdev_alloc_gref().
Dec 21 2023, 12:28 PM

Dec 19 2023

royger committed R11:0ad4440c976c: emulators/xen-kernel,sysutils/xen-tools: update to 4.18.0 (authored by royger).
emulators/xen-kernel,sysutils/xen-tools: update to 4.18.0
Dec 19 2023, 11:19 AM

Dec 15 2023

royger committed rG4c9e6ad3205a: xen: add atomic #defines to accomodate differing xen_ulong_t sizes (authored by ehem_freebsd_m5p.com).
xen: add atomic #defines to accomodate differing xen_ulong_t sizes
Dec 15 2023, 2:02 PM
royger committed rGed917e0faea8: xen/intr: correct type of evtchn_enabled (authored by ehem_freebsd_m5p.com).
xen/intr: correct type of evtchn_enabled
Dec 15 2023, 2:02 PM
royger committed rGea9a9b122d94: sys/conf: make xen_acpi_cpu.c depend on acpi (authored by ehem_freebsd_m5p.com).
sys/conf: make xen_acpi_cpu.c depend on acpi
Dec 15 2023, 2:02 PM
royger closed D32796: xen: add SPDX license tags to Xen headers.
Dec 15 2023, 2:01 PM
royger committed rG40e1d9d45f0f: xen: add SPDX license tags to Xen headers (authored by ehem_freebsd_m5p.com).
xen: add SPDX license tags to Xen headers
Dec 15 2023, 2:01 PM

Dec 11 2023

royger added a comment to D42797: LinuxKPI: Add xen/xen.h header.

While the hypercall headers where originally imported from Linux, I think there's very little chance we will even sync again with Linuxes version, so s/__must_check/__result_use_check/ in the Xen hypercall headers would be the best solution IMO. Playing games with ifdef/ifndef is usually not a good idea.

Dec 11 2023, 10:10 AM

Nov 28 2023

royger committed rGc7368ccb6801: xen: remove xen_domain_type enum/variable (authored by ehem_freebsd_m5p.com).
xen: remove xen_domain_type enum/variable
Nov 28 2023, 1:40 PM
royger committed rGd48760ffe9ea: xen/dev: remove __unused from driver argument of identify functions (authored by ehem_freebsd_m5p.com).
xen/dev: remove __unused from driver argument of identify functions
Nov 28 2023, 1:40 PM
royger committed rG3e5e0e2f1678: xen/dev: switch to DEVMETHOD_END (authored by ehem_freebsd_m5p.com).
xen/dev: switch to DEVMETHOD_END
Nov 28 2023, 1:40 PM
royger committed rGc5c26f15f868: xen/x86: move x86-only variable out of common (authored by ehem_freebsd_m5p.com).
xen/x86: move x86-only variable out of common
Nov 28 2023, 1:40 PM
royger committed rG1b43b74963dd: xen/intr: remove xenpci headers (authored by ehem_freebsd_m5p.com).
xen/intr: remove xenpci headers
Nov 28 2023, 1:40 PM