From: Paul Durrant
Currently the documentation completely fails to mention the existence of
PCI_SPEC_STRING. This patch tidies things up, specifically clarifying that
'pci-assignable-add/remove' take arguments where as 'pci-attach/detach'
take arguments (which will be enforced in a subsequent
From: Paul Durrant
... and prepare for adding support for non-positional parsing of 'bdf' and
'vslot' in a subsequent patch.
Also document 'BDF' as a first-class parameter type and fix the documentation
to state that the default value of 'rdm_policy' is actually 'strict', not
'relaxed', as can
> -Original Message-
> From: Oleksandr
> Sent: 08 December 2020 16:57
> To: Paul Durrant
> Cc: Jan Beulich ; Oleksandr Tyshchenko
> ; Stefano
> Stabellini ; Julien Grall ; Volodymyr
> Babchuk
> ; Andrew Cooper ;
> George Dunlap
> ; Ian Jackson ; Wei Li
From: Paul Durrant
... to hold a pointer to the device.
There is already a 'pci' field in 'pci_add_state' so simply use that from
the start. This also allows the 'pci' (#3) argument to be dropped from
do_pci_add().
NOTE: This patch also changes the type of the 'pci_domid' field
From: Paul Durrant
Simply spelling correction. Purely cosmetic fix.
Signed-off-by: Paul Durrant
Reviewed-by: Oleksandr Andrushchenko
Acked-by: Wei Liu
---
Cc: Ian Jackson
---
tools/libs/light/libxl_pci.c | 22 +++---
1 file changed, 11 insertions(+), 11 deletions(-)
diff
From: Paul Durrant
Other parameters, such as 'msitranslate' and 'permissive' are dealt with
but 'rdm_policy' appears to be have been completely missed.
Signed-off-by: Paul Durrant
Reviewed-by: Oleksandr Andrushchenko
Acked-by: Wei Liu
---
Cc: Ian Jackson
---
tools/libs/light/libxl_pci.c
From: Paul Durrant
Currently libxl__device_pci_add_xenstore() is broken in that does not
update the domain's configuration for the first device added (which causes
creation of the overall backend area in xenstore). This can be easily observed
by running 'xl list -l' after adding a single device
From: Paul Durrant
The seemingly arbitrary use of 'pci' and 'pcidev' in the code in libxl_pci.c
is confusing and also compromises use of some macros used for other device
types. Indeed it seems that DEFINE_DEVICE_TYPE_STRUCT_X exists solely because
of this duality.
This patch purges use
From: Paul Durrant
For the purposes of re-binding a device to its previous driver
libxl__device_pci_assignable_add() writes the driver path into xenstore.
This path is then read back in libxl__device_pci_assignable_remove().
The functions that support this writing to and reading from xenstore
From: Paul Durrant
Both 'domid' and 'pci' are available in 'pci_remove_state' so there is no
need to also pass them as separate arguments.
Signed-off-by: Paul Durrant
Reviewed-by: Oleksandr Andrushchenko
Acked-by: Wei Liu
---
Cc: Ian Jackson
---
tools/libs/light/libxl_pci.c | 9
From: Paul Durrant
... devices.
Currently there is an assumption built into libxl__device_list() that device
backends are fully enumarated under the '/libxl' path in xenstore. This is
not the case for PCI backend devices, which are only properly enumerated
under '/local/domain/0/backend
From: Paul Durrant
Paul Durrant (25):
libxl: s/pcidev/pci and remove DEFINE_DEVICE_TYPE_STRUCT_X
xl: s/pcidev/pci where possible
libxl: make libxl__device_list() work correctly for
LIBXL__DEVICE_KIND_PCI...
libxl: Make sure devices added by pci-attach are reflected in the
config
From: Paul Durrant
To improve naming consistency, replaces occurrences of 'pcidev' with 'pci'.
The only remaining use of the term should be in relation to
'libxl_domain_config' where there are fields named 'pcidevs' and 'num_pcidevs'.
Purely cosmetic. No functional change.
Signed-off-by: Paul
> -Original Message-
> From: Oleksandr
> Sent: 07 December 2020 21:00
> To: Jan Beulich ; Paul Durrant
> Cc: Oleksandr Tyshchenko ; Andrew Cooper
> ;
> Roger Pau Monné ; Wei Liu ; George Dunlap
> ; Ian Jackson ; Julien Grall
> ; Stefano
> Stabellini
> -Original Message-
> From: Wei Liu
> Sent: 04 December 2020 11:34
> To: Paul Durrant
> Cc: xen-devel@lists.xenproject.org; Paul Durrant ; Ian
> Jackson
> ; Wei Liu ; Anthony PERARD
>
> Subject: Re: [PATCH v5 18/23] libxlu: introduce xlu_pci_parse_spec_s
> -Original Message-
[snip]
> > > >
> > > > This is going to break libxl callers because the name "pcidev" is
> > > > visible from the public header.
> > > >
> > > > I agree this is confusing and inconsistent, but we didn't go extra
> > > > length to maintain the inconsistency for no
> -Original Message-
> From: Jan Beulich
> Sent: 07 December 2020 12:05
> To: Oleksandr Tyshchenko ; Paul Durrant
> Cc: Oleksandr Tyshchenko ; Andrew Cooper
> ;
> George Dunlap ; Ian Jackson ;
> Julien Grall
> ; Stefano Stabellini ; Wei Liu
> ; Ro
> -Original Message-
> From: Wei Liu
> Sent: 04 December 2020 11:36
> To: Paul Durrant
> Cc: xen-devel@lists.xenproject.org; Paul Durrant ;
> Christian Lindig
> ; Ian Jackson ; Wei Liu
> ; David Scott
> ; Anthony PERARD
> Subject: Re:
> -Original Message-
> From: Wei Liu
> Sent: 04 December 2020 11:22
> To: p...@xen.org
> Cc: 'Wei Liu' ; xen-devel@lists.xenproject.org; 'Paul Durrant'
> ;
> 'Oleksandr Andrushchenko' ; 'Ian Jackson'
> ;
> 'Anthony PERARD'
> Subject: Re: [PATCH v5 0
> -Original Message-
> From: Wei Liu
> Sent: 04 December 2020 11:13
> To: Paul Durrant
> Cc: xen-devel@lists.xenproject.org; Paul Durrant ;
> Oleksandr Andrushchenko
> ; Ian Jackson ; Wei
> Liu ; Anthony
> PERARD
> Subject: Re: [PATCH v5 01/23] xl /
From: Paul Durrant
... and advertise ExProcessorMasks support if it is set.
Support is advertised by setting bit 11 in CPUID:4004:EAX.
Signed-off-by: Paul Durrant
---
Cc: Wei Liu
Cc: Jan Beulich
Cc: Andrew Cooper
Cc: "Roger Pau Monné"
Cc: George Dunlap
Cc: Ian Jackson
From: Paul Durrant
Adding the new value into the enumeration makes it immediately available
to xl, so this patch adjusts the xl.cfg(5) documentation accordingly.
Signed-off-by: Paul Durrant
---
Cc: Ian Jackson
Cc: Wei Liu
Cc: Anthony PERARD
---
docs/man/xl.cfg.5.pod.in | 8
From: Paul Durrant
To make is simpler to observe which viridian hypercalls are issued by a
particular Windows guest, this patch adds a per-domain mask to track them.
Each type of hypercall causes a different bit to be set in the mask and
when the bit transitions from clear to set, a log line
From: Paul Durrant
The Microsoft Hypervisor TLFS specifies variants of the already implemented
HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE/LIST hypercalls that take a 'Virtual
Processor Set' as an argument rather than a simple 64-bit mask.
This patch adds a new hvcall_flush_ex() function to implement
From: Paul Durrant
A previous patch introduced variants of the flush hypercalls that take a
'Virtual Processor Set' as an argument rather than a simple 64-bit mask.
This patch introduces a similar variant of the HVCALL_SEND_IPI hypercall
(HVCALL_SEND_IPI_EX).
NOTE
From: Paul Durrant
vlapic_ipi() uses a softirq batching mechanism to improve the efficiency of
sending a IPIs to large number of processors. This patch modifies send_ipi()
(the worker function called by hvcall_ipi()) to also make use of the
mechanism when there multiple bits set
From: Paul Durrant
... and make use of them in hvcall_flush()/need_flush().
Subsequent patches will need to deal with virtual processor masks potentially
wider than 64 bits. Thus, to avoid using too much stack, this patch
introduces global per-cpu virtual processor masks and converts
From: Paul Durrant
A subsequent patch will need to IPI a mask of virtual processors potentially
wider than 64 bits. A previous patch introduced per-cpu hypercall_vpmask
to allow hvcall_flush() to deal with such wide masks. This patch modifies
the implementation of hvcall_ipi() to make use
From: Paul Durrant
This patch moves the implementation of HVCALL_SEND_IPI that is currently
inline in viridian_hypercall() into a new hvcall_ipi() function.
The new function returns Xen errno values similarly to hvcall_flush(). Hence
the errno translation code in viridial_hypercall
From: Paul Durrant
If hvm_guest_x86_mode() returns something other than 8 or 4 then
viridian_hypercall() will return immediately but, on the way out, will write
back status as if 'mode' was 4. This patch simply makes it leave the registers
alone.
NOTE: The formatting of the 'out' label
From: Paul Durrant
This patch moves the implementation of HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE/LIST
that is currently inline in viridian_hypercall() into a new hvcall_flush()
function.
The new function returns Xen erro values which are then dealt with
appropriately. A return value of -ERESTART
From: Paul Durrant
Paul Durrant (11):
viridian: don't blindly write to 32-bit registers if 'mode' is invalid
viridian: move flush hypercall implementation into separate function
viridian: move IPI hypercall implementation into separate function
viridian: introduce a per-cpu
> -Original Message-
> From: Jan Beulich
> Sent: 04 December 2020 08:12
> To: Wei Liu ; Paul Durrant
> Cc: Paul Durrant ; xen-devel@lists.xenproject.org
> Subject: Re: [PATCH v4 00/11] viridian: add support for ExProcessorMasks
>
> Wei,
>
> On 02.12.
> -Original Message-
> From: Jan Beulich
> Sent: 04 December 2020 07:53
> To: p...@xen.org
> Cc: 'Paul Durrant' ; 'Eslam Elnikety'
> ; 'Ian Jackson'
> ; 'Wei Liu' ; 'Anthony PERARD'
> ; 'Andrew
> Cooper' ; 'George Dunlap'
> ; 'Julien Grall'
> ;
> -Original Message-
[snip]
>
> All of the hunks above point out a scalability issue if we were to
> follow this route for even just a fair part of new sub-ops, and I
> suppose you've noticed this with the next patch presumably touching
> all the same places again.
> -Original Message-
> From: Jan Beulich
> Sent: 03 December 2020 15:57
> To: p...@xen.org
> Cc: 'Paul Durrant' ; 'Eslam Elnikety'
> ; 'Ian Jackson'
> ; 'Wei Liu' ; 'Anthony PERARD'
> ; 'Andrew
> Cooper' ; 'George Dunlap'
> ; 'Julien Grall'
> ;
> -Original Message-
> From: Jan Beulich
> Sent: 03 December 2020 15:23
> To: Paul Durrant
> Cc: Paul Durrant ; Eslam Elnikety ;
> Ian Jackson
> ; Wei Liu ; Anthony PERARD
> ; Andrew Cooper
> ; George Dunlap ; Julien
> Grall ;
> Stefano Stabellini ; Ch
From: Paul Durrant
... to use 'libxl_pci_bdf' rather than 'libxl_device_pci'.
This patch modifies the API and callers accordingly. It also modifies
several internal functions in libxl_pci.c that support the API to also use
'libxl_pci_bdf'.
NOTE: The OCaml bindings are adjusted to contain
From: Paul Durrant
This patch modifies libxl_device_pci_assignable_add() to take an optional
'name' argument, which (if supplied) is saved into xenstore and can hence be
used to refer to the now-assignable BDF in subsequent operations. To
facilitate this, a new
From: Paul Durrant
Since assignable devices can be named, a subsequent patch will support use
of a PCI_SPEC_STRING containing a 'name' parameter instead of a 'bdf'. In
this case the name will be used to look up the 'bdf' in the list of assignable
(or assigned) devices.
Signed-off-by: Paul
From: Paul Durrant
... and use in 'libxl_device_pci'
This patch is preparatory work for restricting the type passed to functions
that only require BDF information, rather than passing a 'libxl_device_pci'
structure which is only partially filled. In this patch only the minimal
mechanical
From: Paul Durrant
... and prepare for adding support for non-positional parsing of 'bdf' and
'vslot' in a subsequent patch.
Also document 'BDF' as a first-class parameter type and fix the documentation
to state that the default value of 'rdm_policy' is actually 'strict', not
'relaxed', as can
From: Paul Durrant
Currently the documentation completely fails to mention the existence of
PCI_SPEC_STRING. This patch tidies things up, specifically clarifying that
'pci-assignable-add/remove' take arguments where as 'pci-attach/detach'
take arguments (which will be enforced in a subsequent
From: Paul Durrant
... and put it into a new xl-pci-configuration(5) manpage, akin to the
xl-network-configration(5) and xl-disk-configuration(5) manpages.
This patch moves the content of the section verbatim. A subsequent patch
will improve the documentation, once it is in its new location
From: Paul Durrant
A previous patch introduced libxl_device_pci_list_free() which should be used
by callers of libxl_device_pci_list() to properly dispose of the exported
'libxl_device_pci' types and the free the memory holding them. Whilst all
current callers do ensure the memory is freed, only
From: Paul Durrant
A subsequent patch will introduce code to allow a name to be specified to
'xl pci-assignable-add' such that the assignable device may be referred to
by than name in subsequent operations.
Signed-off-by: Paul Durrant
---
Cc: Ian Jackson
Cc: Wei Liu
---
docs/man/xl.1.pod.in
From: Paul Durrant
Use of this function is a very inefficient way to check whether a device
has already been assigned.
This patch adds code that saves the domain id in xenstore at the point of
assignment, and removes it again when the device id de-assigned (or the
domain is destroyed
From: Paul Durrant
This patch largely re-writes the code to parse a PCI_SPEC_STRING and enters
it via the newly introduced function. The new parser also deals with 'bdf'
and 'vslot' as non-positional paramaters, as per the documentation in
xl-pci-configuration(5).
The existing xlu_pci_parse_bdf
From: Paul Durrant
This patch adds a 'name' field into the idl for 'libxl_device_pci' and
libxlu_pci_parse_spec_string() is modified to parse the new 'name'
parameter of PCI_SPEC_STRING detailed in the updated documention in
xl-pci-configuration(5).
If the 'name' field is non-NULL then both
From: Paul Durrant
... to be used by callers of libxl_device_pci_assignable_list().
Currently there is no API for callers of libxl_device_pci_assignable_list()
to free the list. The xl function pciassignable_list() calls
libxl_device_pci_dispose() on each element of the returned list
From: Paul Durrant
... rather than an open-coded equivalent.
This patch tidies up the is_pci_in_array() function, making it take a single
'libxl_device_pci' argument rather than separate domain, bus, device and
function arguments. The already-available COMPARE_PCI() macro can then be
used
From: Paul Durrant
For the purposes of re-binding a device to its previous driver
libxl__device_pci_assignable_add() writes the driver path into xenstore.
This path is then read back in libxl__device_pci_assignable_remove().
The functions that support this writing to and reading from xenstore
From: Paul Durrant
The code currently checks explicitly whether the device is already assigned,
but this is actually unnecessary as assigned devices do not form part of
the list returned by libxl_device_pci_assignable_list() and hence the
libxl_pci_assignable() test would have already failed
From: Paul Durrant
Simply spelling correction. Purely cosmetic fix.
Signed-off-by: Paul Durrant
Reviewed-by: Oleksandr Andrushchenko
---
Cc: Ian Jackson
Cc: Wei Liu
---
tools/libs/light/libxl_pci.c | 22 +++---
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git
From: Paul Durrant
Both 'domid' and 'pci' are available in 'pci_remove_state' so there is no
need to also pass them as separate arguments.
Signed-off-by: Paul Durrant
Reviewed-by: Oleksandr Andrushchenko
---
Cc: Ian Jackson
Cc: Wei Liu
---
tools/libs/light/libxl_pci.c | 9 -
1 file
From: Paul Durrant
... devices.
Currently there is an assumption built into libxl__device_list() that device
backends are fully enumarated under the '/libxl' path in xenstore. This is
not the case for PCI backend devices, which are only properly enumerated
under '/local/domain/0/backend
From: Paul Durrant
... to hold a pointer to the device.
There is already a 'pci' field in 'pci_add_state' so simply use that from
the start. This also allows the 'pci' (#3) argument to be dropped from
do_pci_add().
NOTE: This patch also changes the type of the 'pci_domid' field
From: Paul Durrant
Paul Durrant (23):
xl / libxl: s/pcidev/pci and remove DEFINE_DEVICE_TYPE_STRUCT_X
libxl: make libxl__device_list() work correctly for
LIBXL__DEVICE_KIND_PCI...
libxl: Make sure devices added by pci-attach are reflected in the
config
libxl: add/recover
From: Paul Durrant
Other parameters, such as 'msitranslate' and 'permissive' are dealt with
but 'rdm_policy' appears to be have been completely missed.
Signed-off-by: Paul Durrant
Reviewed-by: Oleksandr Andrushchenko
---
Cc: Ian Jackson
Cc: Wei Liu
---
tools/libs/light/libxl_pci.c | 9
From: Paul Durrant
Currently libxl__device_pci_add_xenstore() is broken in that does not
update the domain's configuration for the first device added (which causes
creation of the overall backend area in xenstore). This can be easily observed
by running 'xl list -l' after adding a single device
From: Paul Durrant
The seemingly arbitrary use of 'pci' and 'pcidev' in the code in libxl_pci.c
is confusing and also compromises use of some macros used for other device
types. Indeed it seems that DEFINE_DEVICE_TYPE_STRUCT_X exists solely because
of this duality.
This patch purges use
> -Original Message-
> From: Jürgen Groß
> Sent: 03 December 2020 13:15
> To: Paul Durrant ; xen-devel@lists.xenproject.org
> Cc: Paul Durrant ; Andrew Cooper
> ; Anthony PERARD
> ; Christian Lindig ;
> David Scott
> ; George Dunlap ; Ian Jackson
>
> -Original Message-
> From: Oleksandr Andrushchenko
> Sent: 01 December 2020 13:12
> To: Paul Durrant ; xen-devel@lists.xenproject.org
> Cc: Paul Durrant ; Ian Jackson ;
> Wei Liu ;
> Anthony PERARD
> Subject: Re: [PATCH v4 03/23] libxl: Make sure dev
> -Original Message-
> From: Oleksandr Andrushchenko
> Sent: 01 December 2020 12:33
> To: Paul Durrant ; xen-devel@lists.xenproject.org
> Cc: Paul Durrant ; Ian Jackson ;
> Wei Liu ;
> Anthony PERARD
> Subject: Re: [PATCH v4 01/23] xl / libxl:
From: Paul Durrant
...to control the visibility of the per-vCPU upcall feature for HVM guests.
Commit 04447f4453c0 ("x86/hvm: add per-vcpu evtchn upcalls") added a mechanism
by which x86 HVM guests can register a vector for each vCPU which will be used
by Xen to signal even
From: Paul Durrant
... to control which features of the Xen ABI are enabled in
'libxl_domain_build_info', and hence exposed to the guest.
Signed-off-by: Paul Durrant
---
Cc: Ian Jackson
Cc: Wei Liu
Cc: Anthony PERARD
v5:
- New in v5
---
docs/man/xl.cfg.5.pod.in | 50
From: Paul Durrant
This series was previously called "evtchn: Introduce a per-guest knob to
control FIFO ABI". It is been extensively re-worked and extended to cover
another ABI feature.
Paul Durrant (4):
domctl: introduce a new domain create flag,
XEN_DOMCTL_CDF_evtchn_fifo, ..
From: Paul Durrant
...to control the visibility of the FIFO event channel operations
(EVTCHNOP_init_control, EVTCHNOP_expand_array, and EVTCHNOP_set_priority) to
the guest.
These operations were added to the public header in commit d2d50c2f308f
("evtchn: add FIFO-based event channe
From: Paul Durrant
... and bitmaps to enable or disable fetaures.
This patch adds a new 'libxl_xen_abi_features' enumeration into the IDL which
specifies features of the Xen ABI which may be optionally enabled or disabled
via new 'feature_enable' and 'feature_disable' bitaps added
> -Original Message-
> From: Jan Beulich
> Sent: 02 December 2020 09:29
> To: Paul Durrant
> Cc: Paul Durrant ; Wei Liu ; Andrew Cooper
> ; Roger Pau Monné ;
> xen-devel@lists.xenproject.org
> Subject: Re: [PATCH v4 01/11] viridian: don't blindly write to 32-b
From: Paul Durrant
A previous patch introduced variants of the flush hypercalls that take a
'Virtual Processor Set' as an argument rather than a simple 64-bit mask.
This patch introduces a similar variant of the HVCALL_SEND_IPI hypercall
(HVCALL_SEND_IPI_EX).
NOTE
From: Paul Durrant
To make is simpler to observe which viridian hypercalls are issued by a
particular Windows guest, this patch adds a per-domain mask to track them.
Each type of hypercall causes a different bit to be set in the mask and
when the bit transitions from clear to set, a log line
From: Paul Durrant
The Microsoft Hypervisor TLFS specifies variants of the already implemented
HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE/LIST hypercalls that take a 'Virtual
Processor Set' as an argument rather than a simple 64-bit mask.
This patch adds a new hvcall_flush_ex() function to implement
From: Paul Durrant
vlapic_ipi() uses a softirq batching mechanism to improve the efficiency of
sending a IPIs to large number of processors. This patch modifies send_ipi()
(the worker function called by hvcall_ipi()) to also make use of the
mechanism when there multiple bits set
From: Paul Durrant
This patch moves the implementation of HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE/LIST
that is currently inline in viridian_hypercall() into a new hvcall_flush()
function.
The new function returns Xen erro values which are then dealt with
appropriately. A return value of -ERESTART
From: Paul Durrant
This patch moves the implementation of HVCALL_SEND_IPI that is currently
inline in viridian_hypercall() into a new hvcall_ipi() function.
The new function returns Xen errno values similarly to hvcall_flush(). Hence
the errno translation code in viridial_hypercall
From: Paul Durrant
A subsequent patch will need to IPI a mask of virtual processors potentially
wider than 64 bits. A previous patch introduced per-cpu hypercall_vpmask
to allow hvcall_flush() to deal with such wide masks. This patch modifies
the implementation of hvcall_ipi() to make use
From: Paul Durrant
... and make use of them in hvcall_flush()/need_flush().
Subsequent patches will need to deal with virtual processor masks potentially
wider than 64 bits. Thus, to avoid using too much stack, this patch
introduces global per-cpu virtual processor masks and converts
From: Paul Durrant
If hvm_guest_x86_mode() returns something other than 8 or 4 then
viridian_hypercall() will return immediately but, on the way out, will write
back status as if 'mode' was 4. This patch simply makes it leave the registers
alone.
NOTE: The formatting of the 'out' label
From: Paul Durrant
Paul Durrant (11):
viridian: don't blindly write to 32-bit registers is 'mode' is invalid
viridian: move flush hypercall implementation into separate function
viridian: move IPI hypercall implementation into separate function
viridian: introduce a per-cpu
Wei,
I'll likely send a v4 to address the style nit Jan picked up in patch #1 but
the rest should be stable now. Could you have a look over it?
Thanks,
Paul
> -Original Message-
> From: Paul Durrant
> Sent: 24 November 2020 19:08
> To: xen-devel@lists.xenproj
> -Original Message-
> From: Jan Beulich
> Sent: 30 November 2020 11:59
> To: p...@xen.org
> Cc: 'Andrew Cooper' ; 'Kevin Tian'
> ; xen-
> de...@lists.xenproject.org
> Subject: Re: [PATCH v4] IOMMU: make DMA containment of quarantined devices
> optional
>
> -Original Message-
> From: Jan Beulich
> Sent: 27 November 2020 16:46
> To: xen-devel@lists.xenproject.org
> Cc: Andrew Cooper ; Paul Durrant ;
> Kevin Tian
>
> Subject: [PATCH v4] IOMMU: make DMA containment of quarantined devices
> optional
>
&g
> -Original Message-
> From: Jan Beulich
> Sent: 25 November 2020 09:20
> To: Paul Durrant
> Cc: Paul Durrant ; Eslam Elnikety ;
> Christian Lindig
> ; David Scott ; Ian Jackson
> ; Wei
> Liu ; Andrew Cooper ; George Dunlap
> ;
> Julien Grall ;
From: Paul Durrant
... with macro evaluations, now that it is available.
A recent patch imported the sizeof_field() macro from Linux. This patch makes
use of it in places where the construct is currently open-coded.
Signed-off-by: Paul Durrant
---
Cc: Jun Nakajima
Cc: Kevin Tian
Cc: Jan
From: Paul Durrant
Adding the new value into the enumeration makes it immediately available
to xl, so this patch adjusts the xl.cfg(5) documentation accordingly.
Signed-off-by: Paul Durrant
---
Cc: Ian Jackson
Cc: Wei Liu
Cc: Anthony PERARD
---
docs/man/xl.cfg.5.pod.in | 8
From: Paul Durrant
To make is simpler to observe which viridian hypercalls are issued by a
particular Windows guest, this patch adds a per-domain mask to track them.
Each type of hypercall causes a different bit to be set in the mask and
when the bit transitions from clear to set, a log line
From: Paul Durrant
... and advertise ExProcessorMasks support if it is set.
Support is advertised by setting bit 11 in CPUID:4004:EAX.
Signed-off-by: Paul Durrant
---
Cc: Wei Liu
Cc: Jan Beulich
Cc: Andrew Cooper
Cc: "Roger Pau Monné"
Cc: George Dunlap
Cc: Ian Jackson
From: Paul Durrant
...to set the value of the 'disable_evtchn_fifo' flag in
libxl_domain_build_info.
Signed-off-by: Paul Durrant
Signed-off-by: Eslam Elnikety
---
Cc: Ian Jackson
Cc: Wei Liu
Cc: Anthony PERARD
v4:
- New in v4
---
docs/man/xl.cfg.5.pod.in | 8
tools/xl
From: Paul Durrant
...to control setting the domain create flag XEN_DOMCTL_CDF_disable_fifo.
Signed-off-by: Paul Durrant
Signed-off-by: Eslam Elnikety
---
Cc: Ian Jackson
Cc: Wei Liu
Cc: Anthony PERARD
v4:
- New in v4
---
tools/include/libxl.h| 8
tools/libs/light
From: Paul Durrant
...to control the visibility of the FIFO event channel operations
(EVTCHNOP_init_control, EVTCHNOP_expand_array, and EVTCHNOP_set_priority) to
the guest.
These operations were added to the public header in commit d2d50c2f308f
("evtchn: add FIFO-based event channe
From: Paul Durrant
This series is the next version of what was originally a single patch sent
by Eslam Elnikety . I have re-based and slightly expanded
the modifications.
Paul Durrant (3):
domctl: introduce a new domain create flag,
XEN_DOMCTL_CDF_disable_fifo, ...
libxl: add
From: Paul Durrant
A previous patch introduced variants of the flush hypercalls that take a
'Virtual Processor Set' as an argument rather than a simple 64-bit mask.
This patch introduces a similar variant of the HVCALL_SEND_IPI hypercall
(HVCALL_SEND_IPI_EX).
NOTE
From: Paul Durrant
Co-locate it with the definition of offsetof() (since this is also in stddef.h
in the Linux kernel source). This macro will be needed in a subsequent patch.
Signed-off-by: Paul Durrant
Acked-by: Jan Beulich
---
Cc: Andrew Cooper
Cc: George Dunlap
Cc: Ian Jackson
Cc
From: Paul Durrant
The Microsoft Hypervisor TLFS specifies variants of the already implemented
HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE/LIST hypercalls that take a 'Virtual
Processor Set' as an argument rather than a simple 64-bit mask.
This patch adds a new hvcall_flush_ex() function to implement
From: Paul Durrant
If hvm_guest_x86_mode() returns something other than 8 or 4 then
viridian_hypercall() will return immediately but, on the way out, will write
back status as if 'mode' was 4. This patch simply makes it leave the registers
alone.
NOTE: The formatting of the 'out' label
From: Paul Durrant
vlapic_ipi() uses a softirq batching mechanism to improve the efficiency of
sending a IPIs to large number of processors. This patch modifies send_ipi()
(the worker function called by hvcall_ipi()) to also make use of the
mechanism when there multiple bits set
From: Paul Durrant
A subsequent patch will need to IPI a mask of virtual processors potentially
wider than 64 bits. A previous patch introduced per-cpu hypercall_vpmask
to allow hvcall_flush() to deal with such wide masks. This patch modifies
the implementation of hvcall_ipi() to make use
From: Paul Durrant
... and make use of them in hvcall_flush()/need_flush().
Subsequent patches will need to deal with virtual processor masks potentially
wider than 64 bits. Thus, to avoid using too much stack, this patch
introduces global per-cpu virtual processor masks and converts
From: Paul Durrant
This patch moves the implementation of HVCALL_FLUSH_VIRTUAL_ADDRESS_SPACE/LIST
that is currently inline in viridian_hypercall() into a new hvcall_flush()
function.
The new function returns Xen erro values which are then dealt with
appropriately. A return value of -ERESTART
301 - 400 of 3558 matches
Mail list logo