From: Oleksandr <olekstysh@gmail.com>
To: Julien Grall <julien@xen.org>
Cc: xen-devel@lists.xenproject.org,
"Oleksandr Tyshchenko" <oleksandr_tyshchenko@epam.com>,
"Paul Durrant" <paul@xen.org>, "Jan Beulich" <jbeulich@suse.com>,
"Andrew Cooper" <andrew.cooper3@citrix.com>,
"Roger Pau Monné" <roger.pau@citrix.com>, "Wei Liu" <wl@xen.org>,
"George Dunlap" <george.dunlap@citrix.com>,
"Ian Jackson" <iwj@xenproject.org>,
"Stefano Stabellini" <sstabellini@kernel.org>,
"Jun Nakajima" <jun.nakajima@intel.com>,
"Kevin Tian" <kevin.tian@intel.com>,
"Julien Grall" <julien.grall@arm.com>
Subject: Re: [PATCH V5 10/22] xen/ioreq: Move x86's io_completion/io_req fields to struct vcpu
Date: Thu, 28 Jan 2021 16:05:14 +0200 [thread overview]
Message-ID: <39421ab3-2b30-52a2-53b6-753aaf1fd16b@gmail.com> (raw)
In-Reply-To: <2a048ca9-2767-a4d8-c864-21392bb65fdc@xen.org>
On 28.01.21 15:41, Julien Grall wrote:
> Hi Oleksandr,
Hi Julien
>
> On 25/01/2021 19:08, Oleksandr Tyshchenko wrote:
>> From: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>>
>> The IOREQ is a common feature now and these fields will be used
>> on Arm as is. Move them to common struct vcpu as a part of new
>> struct vcpu_io and drop duplicating "io" prefixes. Also move
>> enum hvm_io_completion to xen/sched.h and remove "hvm" prefixes.
>>
>> This patch completely removes layering violation in the common code.
>>
>> Signed-off-by: Oleksandr Tyshchenko <oleksandr_tyshchenko@epam.com>
>> Reviewed-by: Julien Grall <jgrall@amazon.com>
>> Reviewed-by: Paul Durrant <paul@xen.org>
>> Acked-by: Jan Beulich <jbeulich@suse.com>
>> CC: Julien Grall <julien.grall@arm.com>
>> [On Arm only]
>> Tested-by: Wei Chen <Wei.Chen@arm.com>
>
> I seem to have trouble running Xen on x86 platform after this patch is
> applied (see trace below).
First of all thank you for testing! I admit, I didn't physically test on
x86 (but performed various build tests).
Also, in current patch I mostly did (or even all) mechanical changes
which wouldn't change a behavior I think,
what is more that I tried to retain existing x86 behavior as much as I
could not only in current patch,
but among all patches in this series.
>
>
> The bisector pointed out to this patch but I can't quite figure out
> why this is breaking.
>
> Does this ring any bell to someone?
>
> (XEN) *** Serial input to DOM0 (type 'CTRL-a' three times to switch
> input)
> (XEN) ----[ Xen-4.15-unstable x86_64 debug=n gcov=y Tainted: C ]----
> (XEN) CPU: 1
> (XEN) RIP: e008:[<ffff82d04041c1c7>]
> x86_64/entry.S#restore_all_guest+0x7/0x145
> (XEN) RFLAGS: 0000000000010002 CONTEXT: hypervisor (d0v0)
> (XEN) rax: 00000000000000ff rbx: ffff83027c806000 rcx:
> ffff82d0406c9a80
> (XEN) rdx: 0000000000000000 rsi: fffffffffffffed9 rdi:
> 0000000000000001
> (XEN) rbp: ffff83027c887df0 rsp: ffff83027c887ef8 r8:
> 00000000aaa8946e
> (XEN) r9: 0000000000000002 r10: ffff83027c806040 r11:
> ffff83027c8cc020
> (XEN) r12: ffff83027c80f000 r13: ffff83027c895000 r14:
> 0000000000000000
> (XEN) r15: 0000000000000000 cr0: 0000000080050033 cr4:
> 00000000003426e0
> (XEN) cr3: 0000000273a2d000 cr2: 0000000000000000
> (XEN) fsb: 0000000000000000 gsb: 0000000000000000 gss:
> 0000000000000000
> (XEN) ds: 0000 es: 0000 fs: 0000 gs: 0000 ss: 0000 cs: e008
> (XEN) Xen code around <ffff82d04041c1c7>
> (x86_64/entry.S#restore_all_guest+0x7/0x145):
> (XEN) 00 48 8b 93 98 0d 00 00 <44> 8b 3a 4c 8b 8b 68 0b 00 00 ba ff
> 7f 00 00 48
> (XEN) Xen stack trace from rsp=ffff83027c887ef8:
> (XEN) 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> (XEN) 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> (XEN) 0000000000000000 0000000000000000 0000000000000000
> 0000000000000000
> (XEN) 0000000000000000 ffffffff83a2c000 0000000000000000
> 0000000000000000
> (XEN) ffffffff82c9e160 000000000000e033 0000000000000200
> ffffffff83a4f000
> (XEN) 000000000000e02b 0000000000000000 0000000000000000
> 00000000ffffffff
> (XEN) 0000000000000000 0000e01000000001 ffff83027c806000
> 000000323c1d9000
> (XEN) 00000000003426e0 0000000000000000 0000000000000000
> 0000060100000000
> (XEN) 0000000000000000
> (XEN) Xen call trace:
> (XEN) [<ffff82d04041c1c7>] R
> x86_64/entry.S#restore_all_guest+0x7/0x145
> (XEN)
> (XEN) Pagetable walk from 0000000000000000:
> (XEN) L4[0x000] = 0000000000000000 ffffffffffffffff
> (XEN) Xen lock profile info SHOW (now = 4770175959 total = 4770175959)
> (XEN) Global xenpf_lock: addr=ffff82d04052c4a0, lockval=00000000, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global rtc_lock: addr=ffff82d04052c480, lockval=00010001, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global pit_lock: addr=ffff82d04052c470, lockval=00000000, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global platform_timer_lock: addr=ffff82d04052c460,
> lockval=000e000e, not locked
> (XEN) lock:6(57390), block:0(0)
> (XEN) Global sync_lock: addr=ffff82d04052c440, lockval=00000000, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global lock: addr=ffff82d04052c450, lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global flush_lock: addr=ffff82d04052c430, lockval=00080007, cpu=0
> (XEN) lock:3(49953), block:0(0)
> (XEN) Global pci_config_lock: addr=ffff82d04052c420, lockval=22702270,
> not locked
> (XEN) lock:14(100313), block:0(0)
> (XEN) Global lapic_nmi_owner_lock: addr=ffff82d04052bff0,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global map_pgdir_lock: addr=ffff82d04052bfd0, lockval=00050005,
> not locked
> (XEN) lock:3(386), block:0(0)
> (XEN) Global vector_lock: addr=ffff82d04052bfc0, lockval=00260026, not
> locked
> (XEN) lock:1(383), block:0(0)
> (XEN) Global irq_ratelimit_lock: addr=ffff82d04052bfb0,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global lock: addr=ffff82d04052bf90, lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global msix_fixmap_lock: addr=ffff82d04052bf80,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global ioapic_lock: addr=ffff82d04052bf60, lockval=003a003a, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global i8259A_lock: addr=ffff82d04052bf50, lockval=00210021, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global osvw_lock: addr=ffff82d04052bf10, lockval=00000000, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global vpmu_lock: addr=ffff82d04052bf00, lockval=00040004, not
> locked
> (XEN) lock:4(449), block:0(0)
> (XEN) Global mtrr_mutex: addr=ffff82d04052bcf0, lockval=00000000, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global set_atomicity_lock: addr=ffff82d04052bce0,
> lockval=00040004, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global microcode_mutex: addr=ffff82d04052bcc0, lockval=00030003,
> not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global cmci_discover_lock: addr=ffff82d04052bc90,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global mce_logout_lock: addr=ffff82d04052bc70, lockval=00000000,
> not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global processing_lock: addr=ffff82d04052bc50, lockval=00000000,
> not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global pm_lock: addr=ffff82d04052bbc0, lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global apei_iomaps_lock: addr=ffff82d04052bbb0,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global erst_lock: addr=ffff82d04052bba0, lockval=00000000, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global shared_intremap_lock: addr=ffff82d04052bb20,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global console_lock: addr=ffff82d04052b7d0, lockval=01350135,
> not locked
> (XEN) lock:154(111298857), block:0(0)
> (XEN) Global ratelimit_lock: addr=ffff82d04052b7c0, lockval=00000000,
> not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global lock: addr=ffff82d04052b7a0, lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global sched_free_cpu_lock: addr=ffff82d04052b770,
> lockval=00040004, not locked
> (XEN) lock:4(2963), block:0(0)
> (XEN) Global cpupool_lock: addr=ffff82d04052b750, lockval=00030003,
> not locked
> (XEN) lock:3(19403), block:0(0)
> (XEN) Global sysctl_lock: addr=ffff82d04052b740, lockval=00000000, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global domctl_lock: addr=ffff82d04052b730, lockval=00000000, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global pool_list_lock: addr=ffff82d04052b720, lockval=00010001,
> not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global xenoprof_lock: addr=ffff82d04052b710, lockval=00000000,
> not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global pmu_owner_lock: addr=ffff82d04052b700, lockval=00000000,
> not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global vm_lock: addr=ffff82d04052b6f0, lockval=00130013, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global virtual_region_lock: addr=ffff82d04052b6e0,
> lockval=00010001, not locked
> (XEN) lock:1(198), block:0(0)
> (XEN) Global wc_lock: addr=ffff82d04052b6d0, lockval=00020002, not locked
> (XEN) lock:1(770), block:0(0)
> (XEN) Global tasklet_lock: addr=ffff82d04052b6c0, lockval=03790379,
> not locked
> (XEN) lock:612(52925), block:0(0)
> (XEN) Global symbols_mutex: addr=ffff82d04052b6b0, lockval=00000000,
> not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global stopmachine_lock: addr=ffff82d04052b6a0,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global call_lock: addr=ffff82d04052b680, lockval=00040004, not
> locked
> (XEN) lock:3(27688741), block:0(0)
> (XEN) Global lock: addr=ffff82d04052b560, lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global heap_lock: addr=ffff82d04052b540, lockval=c5d0c5d0, not
> locked
> (XEN) lock:16949(5481440), block:1(34420)
> (XEN) Global crash_notes_lock: addr=ffff82d04052b520,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global lock: addr=ffff82d04052b500, lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global global_virq_handlers_lock: addr=ffff82d04052b4f0,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global domlist_update_lock: addr=ffff82d04052b4d0,
> lockval=00010001, not locked
> (XEN) lock:1(105), block:0(0)
> (XEN) Global debugtrace_lock: addr=ffff82d04052b4b0, lockval=00030003,
> not locked
> (XEN) lock:3(3327), block:0(0)
> (XEN) Global accounting_lock: addr=ffff82d04052b480, lockval=00000000,
> not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Global efi_rs_lock: addr=ffff82d04052b020, lockval=00000000, not
> locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Domain 0 event_lock: addr=ffff83027c80f110, lockval=00000000,
> not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Domain 0 page_alloc_lock: addr=ffff83027c80f028,
> lockval=05cf05cf, not locked
> (XEN) lock:1487(3914530), block:0(0)
> (XEN) Domain 0 domain_lock: addr=ffff83027c80f018, lockval=00000000,
> not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Domain 32767 page_alloc_lock: addr=ffff83027c875028,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Domain 32767 domain_lock: addr=ffff83027c875018,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Domain 32753 page_alloc_lock: addr=ffff83027c8c8028,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Domain 32753 domain_lock: addr=ffff83027c8c8018,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) Domain 32754 page_alloc_lock: addr=ffff83027c8c9028,
> lockval=18001800, not locked
> (XEN) lock:6144(101574), block:0(0)
> (XEN) Domain 32754 domain_lock: addr=ffff83027c8c9018,
> lockval=00000000, not locked
> (XEN) lock:0(0), block:0(0)
> (XEN) debugtrace_dump() global buffer starting
> 1 cpupool_create(pool=0,sched=0)
> 2 Created cpupool 0 with scheduler SMP Credit Scheduler rev2 (credit2)
> 3 cpupool_add_domain(dom=0,pool=0) n_dom 1 rc 0
> (XEN) wrap: 0
> (XEN) debugtrace_dump() global buffer finished
> (XEN)
> (XEN) ****************************************
> (XEN) Panic on CPU 1:
> (XEN) FATAL PAGE FAULT
> (XEN) [error_code=0000]
> (XEN) Faulting linear address: 0000000000000000
> (XEN) ****************************************
>
>
> Cheers,
>
--
Regards,
Oleksandr Tyshchenko
next prev parent reply other threads:[~2021-01-28 14:05 UTC|newest]
Thread overview: 93+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-25 19:08 [PATCH V5 00/22] IOREQ feature (+ virtio-mmio) on Arm Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 01/22] x86/ioreq: Prepare IOREQ feature for making it common Oleksandr Tyshchenko
2021-01-27 16:48 ` Jan Beulich
2021-01-25 19:08 ` [PATCH V5 02/22] x86/ioreq: Add IOREQ_STATUS_* #define-s and update code for moving Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 03/22] x86/ioreq: Provide out-of-line wrapper for the handle_mmio() Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 04/22] xen/ioreq: Make x86's IOREQ feature common Oleksandr Tyshchenko
2021-01-25 23:13 ` Julien Grall
2021-01-25 23:40 ` Oleksandr
2021-01-27 18:43 ` Julien Grall
2021-01-27 20:22 ` Oleksandr
2021-01-27 20:46 ` Stefano Stabellini
2021-01-28 11:01 ` Oleksandr
2021-01-28 11:21 ` Jan Beulich
2021-01-28 12:49 ` Oleksandr
2021-01-28 17:13 ` Stefano Stabellini
2021-01-27 16:58 ` Jan Beulich
2021-01-27 20:14 ` Oleksandr
2021-01-28 8:06 ` Jan Beulich
2021-01-28 11:16 ` Oleksandr
2021-01-28 11:24 ` Jan Beulich
2021-01-25 19:08 ` [PATCH V5 05/22] xen/ioreq: Make x86's hvm_ioreq_needs_completion() common Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 06/22] xen/ioreq: Make x86's hvm_mmio_first(last)_byte() common Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 07/22] xen/ioreq: Make x86's hvm_ioreq_(page/vcpu/server) structs common Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 08/22] xen/ioreq: Move x86's ioreq_server to struct domain Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 09/22] xen/ioreq: Make x86's IOREQ related dm-op handling common Oleksandr Tyshchenko
2021-01-26 13:31 ` Paul Durrant
2021-01-28 10:52 ` Jan Beulich
2021-01-28 12:06 ` Oleksandr
2021-01-28 13:18 ` Jan Beulich
2021-01-28 20:01 ` Oleksandr
2021-01-25 19:08 ` [PATCH V5 10/22] xen/ioreq: Move x86's io_completion/io_req fields to struct vcpu Oleksandr Tyshchenko
2021-01-28 13:41 ` Julien Grall
2021-01-28 13:53 ` Jan Beulich
2021-01-28 14:21 ` Julien Grall
2021-01-28 14:36 ` Jan Beulich
2021-01-28 14:49 ` Andrew Cooper
2021-01-28 14:51 ` Ian Jackson
2021-01-28 14:54 ` Jan Beulich
2021-01-28 16:15 ` Andrew Cooper
2021-01-28 15:01 ` Julien Grall
2021-01-28 14:05 ` Oleksandr [this message]
2021-01-25 19:08 ` [PATCH V5 11/22] xen/mm: Make x86's XENMEM_resource_ioreq_server handling common Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 12/22] xen/ioreq: Remove "hvm" prefixes from involved function names Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 13/22] xen/ioreq: Use guest_cmpxchg64() instead of cmpxchg() Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 14/22] arm/ioreq: Introduce arch specific bits for IOREQ/DM features Oleksandr Tyshchenko
2021-01-25 20:19 ` Stefano Stabellini
2021-01-26 9:15 ` Jan Beulich
2021-01-27 9:54 ` Oleksandr
2021-01-27 10:15 ` Jan Beulich
2021-01-27 17:01 ` Julien Grall
2021-01-27 17:04 ` Jan Beulich
2021-01-27 18:33 ` Julien Grall
2021-01-27 19:20 ` Oleksandr
2021-01-28 9:40 ` Julien Grall
2021-01-28 11:33 ` Oleksandr
2021-01-28 13:39 ` Oleksandr
2021-01-28 14:29 ` Oleksandr
2021-01-28 14:41 ` Julien Grall
2021-01-28 14:52 ` Oleksandr
2021-01-28 15:08 ` Julien Grall
2021-01-28 17:50 ` Oleksandr
2021-01-25 19:08 ` [PATCH V5 15/22] xen/arm: Call vcpu_ioreq_handle_completion() in check_for_vcpu_work() Oleksandr Tyshchenko
2021-01-27 14:49 ` Julien Grall
2021-01-27 15:56 ` Oleksandr
2021-01-27 20:34 ` Stefano Stabellini
2021-01-25 19:08 ` [PATCH V5 16/22] xen/mm: Handle properly reference in set_foreign_p2m_entry() on Arm Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 17/22] xen/ioreq: Introduce domain_has_ioreq_server() Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 18/22] xen/dm: Introduce xendevicemodel_set_irq_level DM op Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 19/22] xen/arm: io: Abstract sign-extension Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 20/22] xen/arm: io: Harden sign extension check Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 21/22] xen/ioreq: Make x86's send_invalidate_req() common Oleksandr Tyshchenko
2021-01-25 19:08 ` [PATCH V5 22/22] xen/arm: Add mapcache invalidation handling Oleksandr Tyshchenko
2021-01-28 9:55 ` Julien Grall
2021-01-28 13:12 ` Oleksandr
2021-01-27 16:43 ` [PATCH V5 00/22] IOREQ feature (+ virtio-mmio) on Arm Julien Grall
2021-01-27 16:50 ` Oleksandr
2021-01-27 17:33 ` Julien Grall
2021-01-27 17:37 ` Oleksandr
2021-01-27 17:42 ` Julien Grall
2021-01-27 17:45 ` Oleksandr
2021-01-28 14:37 ` Oleksandr
2021-01-28 15:14 ` Julien Grall
2021-01-28 17:55 ` Oleksandr
2021-01-28 16:11 ` Julien Grall
2021-01-28 17:24 ` Stefano Stabellini
2021-01-28 17:44 ` Julien Grall
2021-01-28 18:10 ` Andrew Cooper
2021-01-28 18:16 ` Julien Grall
2021-01-28 18:21 ` Julien Grall
2021-01-28 20:10 ` Andrew Cooper
2021-01-28 21:19 ` Julien Grall
2021-01-28 19:44 ` Oleksandr
2021-01-29 1:15 ` Oleksandr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=39421ab3-2b30-52a2-53b6-753aaf1fd16b@gmail.com \
--to=olekstysh@gmail.com \
--cc=andrew.cooper3@citrix.com \
--cc=george.dunlap@citrix.com \
--cc=iwj@xenproject.org \
--cc=jbeulich@suse.com \
--cc=julien.grall@arm.com \
--cc=julien@xen.org \
--cc=jun.nakajima@intel.com \
--cc=kevin.tian@intel.com \
--cc=oleksandr_tyshchenko@epam.com \
--cc=paul@xen.org \
--cc=roger.pau@citrix.com \
--cc=sstabellini@kernel.org \
--cc=wl@xen.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).